Dificuldade em comandos SQL para encontrar registros com apóstrofo exclusivamente

Java

14/03/2014

Dificuldade em comandos SQL para encontrar registros com apóstrofo exclusivamente

Tenho um banco de dados que tem registros armazenados que contém apóstrofo, por exemplo : MacDonald's , Bill's , Ana's etc ...

Não tive muitos problemas para inserir esses registros com apóstrofo, mas estou tendo problemas para encontra-los esclusivamente, geralmente quando eu quero encontrar um registro exclusivo faço deste jeito :

SELECT CODIGO FROM "TBL_TEST" WHERE NOME_TESTE = 'Ana'
Ele me retorna um resultado exato = 35


Mas se a palavra procurada tiver apóstrofo o exemplo anterior não resolve meu problema, então eu mudei meu código de procura para este :

SELECT CODIGO FROM "TBL_TEST" WHERE NOME_TEST LIKE '%Paulo's%'

Observem que agora eu utilizo a clausula LIKE para poder procurar palavras com apóstrofos ou sem ( Meu banco de dados possui muitas palavras com apostrofo) porque o = não permite encontra-las mas essa busca com a clausula LIKE retorna para mim não só o nome do Paulo's mas tudo que contém Paulo's e o resultado é este :

resultado = Paulo's
Paulo's Sheen
Paulo's Gates
Paulo's Jobs


Então eu gostaria de encontrar registros exclusivos e com apóstrofo, pois pelos exemplos vocês observam que as duas coisas não estão acontecendo juntas, eu gostaria que no segundo exemplo de encontrar somente Paulo's e não gostaria de encontrar Paulo's Sheen , Paulo's Gates, Paulo's Jobs.

Fiquem na paz caras.
Ramom Ferreira

Ramom Ferreira

Curtidas 0

Respostas

Marisiana Battistella

Marisiana Battistella

14/03/2014

Bom dia!

Você precisa que retorne todos os registros que contenham apóstrofos?
Se for isso, já tentou assim?
 SELECT CODIGO FROM "TBL_TEST" WHERE NOME_TEST LIKE '%'%' 
GOSTEI 0
Ramom Ferreira

Ramom Ferreira

14/03/2014

Bom dia!

Você precisa que retorne todos os registros que contenham apóstrofos?
Se for isso, já tentou assim?
 SELECT CODIGO FROM "TBL_TEST" WHERE NOME_TEST LIKE '%'%' 


Show de bola Mari, mas o seu código vai me retornar tudo que contém apóstrofo, e eu quero encontrar somente o conteúdo digitado, mas ! Mesmo assim muito obrigado, e só para constar, você tem um sorriso e um par de olhos muito carismáticos, meus parabéns ... ;)
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

14/03/2014

Desculpa, eu não tinha entendido de fato o que vc precisava, li rápido demais...
Eu acho que vai funcionar se você fizer assim:
 SELECT CODIGO FROM "TBL_TEST" WHERE NOME_TEST LIKE '%Paulo''s' 


Fiz um teste aqui e, a princípio, funcionou...
Faz tempo q estudei isso e não lembro exatamente, então, se não me engano quando se utiliza o % apenas no início da string, o SQL retornará apenas se encontrar um nome exato ao que foi informado.
E com relação ao apóstrofo, vc tem q duplicar ele para que retorne sem erro...

Obrigada! =)
GOSTEI 0
Ramom Ferreira

Ramom Ferreira

14/03/2014

Desculpa, eu não tinha entendido de fato o que vc precisava, li rápido demais...
Eu acho que vai funcionar se você fizer assim:
 SELECT CODIGO FROM "TBL_TEST" WHERE NOME_TEST LIKE '%Paulo''s' 


Fiz um teste aqui e, a princípio, funcionou...
Faz tempo q estudei isso e não lembro exatamente, então, se não me engano quando se utiliza o % apenas no início da string, o SQL retornará apenas se encontrar um nome exato ao que foi informado.
E com relação ao apóstrofo, vc tem q duplicar ele para que retorne sem erro...

Obrigada! =)


Sim, desta forma fica bem legal, eu tinha conseguido resolver aqui, mas olha, te agradeço muito pela presteza e paciência ok ? Muito show ! E mais uma coisa, veja se aparece mais tá bom ? Agora que sei que seu sorriso e olhos estão por aqui, daqui para frente terei umas 3 "dúvidas" por dia, percebeu que eu já tenho tudo planejado ? Kkk !. ;)
Tudo de bom.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

14/03/2014

hahahaha... ok!
Estou participando do fórum sempre que posso...
GOSTEI 0
POSTAR