- Este tópico contém 8 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 12 meses atrás por santosclay.
-
AutorPosts
-
5 de fevereiro de 2007 às 10:08 pm #78463WendelParticipante
Olá
Estou com problema com o comando Like quando altero a sessao do oracle para o banco não diferenciar maisculas e minusculas, com os seguintes parametros:
alter session set nls_comp = ansi
alter session set nls_sort = generic_baseletterao executar o comando abaixo o banco retorna os resultados corretos:
select * from fornecedor where no_razaosocial_fornecedor = ‘telSon’ao executar o comando abaixo o banco não retorna os resultados corretos:
select * from fornecedor where like no_razaosocial_fornecedor = ‘%elSon’Alguém sabe como fazer funcionar o comando LIKE funcionar depois de alterada a sessão. Valeu!
WENDEL
5 de fevereiro de 2007 às 10:19 pm #78465Marcio68AlmeidaParticipantecomando LIKE
Select * from tabela where coluna LIKE '%string%'
5 de fevereiro de 2007 às 10:33 pm #78467WendelParticipanteOlá
Eu errei na digitação, mas no teste que fiz aqui eu digitei certo, conforme abaixo:
Select * from tabela where coluna LIKE ‘%string%’
Mesmo digitando a sintaxe correta, não retorna nada, o problema é que depois que altera a sessao para o oracle ficar case insensitive, quando utilizo o comando Like o Oracle volta a ser Case Sensitive.
Alguem sabe alguma solução!
WENDEL
5 de fevereiro de 2007 às 11:47 pm #78468santosclayParticipanteE ai cara blz!!!
Vc poderia testar o comando abaixo pra ver se resolvemos o seu problema:
alter session set nls_comp=’LINGUISTIC’
Aguardo retorno Clayton.
6 de fevereiro de 2007 às 12:10 am #78472WendelParticipanteClayton
Esse parâmetro não é reconhecido pelo Oracle 9i. Da a seguinte mensagem ao tentar executar: ORA-12705: valor inválido ou desconhecido do parâmetro NLS especificado
Alguem já teve esse problema??
Wendel
6 de fevereiro de 2007 às 12:18 am #78476drumondParticipanteCara só uma pergunta, não seria mais facil usar as funçoes do oracle tipo UPPER ou LOWER, para comparar ? Aqui usamos desta forma … 🙂
6 de fevereiro de 2007 às 2:48 pm #78480Marcio68AlmeidaParticipanteDrumond, o comando serve também para não diferenciar acentuações e cedilhas…
Wendel, você não está encerrando a sessão e fazendo uma nova conecção, ou então alterando a sessão no SQL Plus e tentando a função dentro de um programa, né ???
6 de fevereiro de 2007 às 5:02 pm #78483WendelParticipanteMarcio antes de por isso na aplicação eu estou testando no TOAD FOR ORACLE e é nele que não funciona. Verifiquei com um colega e ele falou que ao alterar esse comando de sessão o Like náo funciona mesmo, e também outros comandos, mas infelizmente ele não sabia qual os comandos que não funcionam. Alguem sabe qual os comando que não funciona ao alterar o paramentros de sessão abaixo:
alter session set nls_comp = ansi
alter session set nls_sort = generic_baseletterPois assim eu vou tratar no código com UPPER e LOWER essas partes
Wendel
6 de fevereiro de 2007 às 5:30 pm #78484santosclayParticipanteOlá amigos.
Realmente o que eu te disse estava errado pois a minha fonte foi a documentação do ora 10.
Eu dei uma lida na documentação do ora 9
http://download-east.oracle.com/docs/cd … tm#1007931
E o seu comando esta certo.
Porém não consegui terminar a documentação para ver se existe alguma restrição neste comando.
Abraços e desculpe-me pela falha.
Clayton.
P.S.”Estou continuando a pesquisa sobre o assunto rs…”.
-
AutorPosts
- Você deve fazer login para responder a este tópico.