Tas Blog: Tiago Silva

26 set, 2011

Operador iLike, e você ainda está usando a função UPPER…

Posted by: Tiago Silva In: PostgreSQL

Leitores!

A partir desta semana também irei abordar alguns temas sobre o PostgreSQL, pra quem não sabe ele é um dos SGBDs mais robustos do mercado e totalmente FREE!

Aqui onde eu trabalho nós estamos utilizando ele, sem nenhum problema, e de fato eu posso afirmar que é um banco muito bom.

Mas dando atenção ao tema principal do post, muitas vezes quando vamos implementar algum sistema de busca utilizamos largamente o operador LIKE do SQL, veja o exemplo:

SELECT nome FROM cidades WHERE nome LIKE '%ribeirão%'

O “problema” é que o PostgreSQL é case sensitive, ou seja, ele diferencia letras maiúsculas de minúsculas, então eu já vi desenvolvedores que faziam o seguinte:

1) Ou gravavam tudo em upper-case no banco de dados (tudo escrito em maiúscula)

2) Ou usaram a função UPPER que converte as String para maiúsculo, e assim realizar a compração

3) Ou faziam os dois hehe

Bem, minha simples sugestão para você, que está desenvolvendo algum aplicativo com o PostgreSQL é: use o operador ILIKE, repare que ele tem um “i”, que quer dizer que ele é case-insensitive, ou seja, tanto faz como for a entrada no sistema, tanto faz como estiver gravado, ele irá ler: “TESTE” como se fosse “teste”.

A implementação é identica ao do LIKE comum, veja:

SELECT nome FROM cidades WHERE nome iLIKE '%ribeirão%'

Assim seu código fica mais fácil, mais leve e mais bonito =)

 

Referências:

 

Abraços,

Tiago.


1 Response to "Operador iLike, e você ainda está usando a função UPPER…"

1 | Você conhece o operador Similar To do PostgreSQL? | Tas Blog: Tiago Silva

março 3rd, 2012 at 0:49

Avatar

[...] agora do nosso assunto, em um post anterior sobre a utilização do operador iLIKE eu mencionei a particularidade do Postgres em [...]

Categories

 

setembro 2011
S T Q Q S S D
    out »
 1234
567891011
12131415161718
19202122232425
2627282930  

About

This is an example of a WordPress page, you could edit this to put information about yourself or your site so readers know where you are coming from.

No Facebook!

Rolando no Twitter