koefob
Novembro 5, 2008, 3:05pm
#1
Boa tarde pessoal,
Estou com uma pequena dificuldade em uma consulta no ORACLE…
preciso que ao efetuar a consulta , que os acentos não façam diferença!
ou seja… se o usuario digitar avião ou aviao, que tudo que esteja no banco estando ou não com acento…retorne na consulta.
desde já agradeço
Com o Like do sql acho que funciona!!!
Você pode usar o underline no lugar do caracter que tem o acento, e precisa ser com o like…falow
Nopes, like nao é pra esse caso. Ha tempos eu tambem queria isso, mas nao corri muito atraz pra saber.
Porem agora no meu emprego atual descobri que no SQL Server, na criação do banco voce seta Case sensitive e Accent Sensitive ou nao, ja no Oracle nao sei lhe dizer.
O duro é ele encontrar cada caracter especial e trocar por underline ante de fazer o sql.
Alguem arrisca um regex ae?
Então, esse é o problema…hehehe
Editado:
Opa, pesquisei um pouco aqui e achei em um fórum da Oracle.
Você precisa alterar dois parâmetros da sessão:
ALTER SESSION SET NLS_COMP=LINGUISTIC;
ALTER SESSION SET NLS_SORT=BINARY_AI;
lucao
Novembro 5, 2008, 4:04pm
#7
Olá amigo, faz assim:
alter session set nls_sort=generic_baseletter;
alter session set nls_comp=ansi;
De quebra ainda vai ficar case insensitive.
Opa, respondi tarde, desculpa.