segunda-feira, 14 de abril de 2014

Case insensitive LIKE no Oracle

Desafio: Fazer com que "joão" seja igual a "João" em uma query no Oracle.



A função like do MySql já é case insensitive. No Postgres, basta usar o ilike. Mas no Oracle o buraco é mais embaixo.

Para fazer uma busca case insensitive, é necessário colocar todos os caracteres dos dois lados da busca como maiúsculos, ou os dois como minúsculos. Desta forma:

SELECT * FROM usuarios WHERE UPPER(nome) LIKE UPPER('%joão%')

ou...

SELECT * FROM usuarios WHERE LOWER(nome) LIKE LOWER('%joão%')



Qualquer dúvida, perguntar nos comentários

Nenhum comentário:

Postar um comentário