comparação de string

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
ualex
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Ter, 01 Nov 2005 1:25 pm
Localização: Bauru - SP

existe alguma forma de falar para oracle comparar string mais menos assim

Selecionar tudo

select * nomes where col1=col2;

só que por exemplo
col1 ='ção paulo'
col2='são paulo'

ou seja foi cadastrado errado uma letra. tem como falar para o oracle comparar nessa situação e falar que é = ?

entenderam minha duvida :) obrigado !
Avatar do usuário
MuLtAnI
Moderador
Moderador
Mensagens: 90
Registrado em: Ter, 01 Jun 2004 9:21 am
Localização: Videira - SC
Contato:

Olá Ualex, desculpe mas não entendi muito bem a sua dúvida.
Você quer que a consulta retorne = para erros de sintaxe baseado na fonética das palavras?

tipo ção paulo e são paulo?

:?:

Isso precisa de um tratamento um pouco diferente, há algum tempo atraz desenvolvi um package para esse tipo de situação bem como erros
de carro = caro, assado = asado, achado = axado

Isso precisa trabalhar com a fonética, existe uma função chamada Soundex que faz uma coisa parecida mas para um nro limitado de caracteres na palavra.

Se for essa realmente a sua dúvida e tiver interesse no package avisa que eu coloco ele aqui no fórum, é meio grandinho mas não dá nada!

[]'s

Maurício Gonzatto
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Sim tem a função do oracle SOUNDEX, mas ela é em INGLES.

Eu achei esse LINK que tem um algoritmo do soundex:
http://www.macoratti.net/sql_sdex.htm

Uma vez eu conheci um programa que fazia isso em português. Infelizmente, não lembro o nome dele. Talvez eu tenha em casa no meu banco (vou pesquisar lá e respondo aqui se eu achar)... Mas acho que esse programa não existe mais.
ualex
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Ter, 01 Nov 2005 1:25 pm
Localização: Bauru - SP

Maurício Gonzatto, é +- isso mesmo. só que eu imaginava algo baseado em string e não em som. mas valeu
Avatar do usuário
MuLtAnI
Moderador
Moderador
Mensagens: 90
Registrado em: Ter, 01 Jun 2004 9:21 am
Localização: Videira - SC
Contato:

Bom, se for isso acho que a pesquisa fonética irá te ajudar, pois com ela uma consulta de "Ção Paulo" é igual a "São Paulo".

O processo é meio extenso, e recomendo ler com calma. Fiz isso há um bom tempo atráz e nunca mais meti a mão. Até estava pensando em criar uma Biblioteca C# baseado neste meu código, mas como estou sem o Oracle e sem tempo no momento fica difícil. Voltei a mecher com Oracle esses dias, ou seja...fiquei uns 6 meses parado! hehehe O Dr. Gori está ligado! Mas tamo aí, disposto a ajudar e aprender o máximo possível!

Segue o link para download:
http://www.algoritmosdigitais.com.br/Ap ... netica.doc

espero que ajude
[]'s
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante