[firebase-br] Like - Case insensitive

Fabrício Fadel Kammer ffkammer em conchalnet.com.br
Qui Dez 4 09:49:12 -03 2008


Bom dia pessoal,

Hoje para poder usar o comando LIKE sem diferenciar maiúsculas de 
minúsculas acrescento o um Upper na condição, conforme sql abaixo:

SELECT NOME FROM CLIENTES WHERE UPPER(NOME) LIKE 'JO%'

Isso faz com que o LIKE retorne TODOS os clientes cujo nome inicie com 
"JO", porém o Firebird não utiliza índices nessa busca. Gostaria de 
saber com os colegas se há como eu fazer o like não diferenciar 
maiúsculas de minúsculas, obrigando assim o Firebird a usar o índice do 
campo nome e ganhar performance nessa SQL?

Queria fazer algo como abaixo:

SELECT NOME FROM CLIENTES WHERE NOME LIKE 'JO%'

E o Firebird deveria retornar todos registros abaixo:
Joao
JOao
JOAO
Jose
JOSE
JOsE
etc

Grato desde já

Fabrício




Mais detalhes sobre a lista de discussão lista