Consulta case insensitive no SQL

Alguém sabe como que eu faço pra fazer uma consulta no SQL que não seja case sensitive.

eu preciso consultar numa tabela pessoas que o nome comece com uma letra. Estou fazendo mais ou menos assim:

select * from contato where nome like 'A%'

Mas eu queria que a consulta fosse válida para letras minúsculas também

Grato

detalhes: o BD é Postgres

Se for no sql server use:

select * from clientes where upper(nome) like '%'+upper('MaRcIa')+'%'

Se for outro db procure a função que transforma todas as letras em minúsculas . O contrário tbm é válido…

Um abraço kra… :wink:

Upper também vale pro Oracle.

Na maioria dos bancos de dados você pode configurar se ele vai ser case insensitive.

No SQLServer você define o esquema na instalação.

[quote=“black_fire”]Se for no sql server use:

select * from clientes where upper(nome) like '%'+upper('MaRcIa')+'%'

Se for outro db procure a função que transforma todas as letras em minúsculas .[/quote]

SQL Server? Naaao… :mrgreen:

Para minusculas, a funcao seria LOWER() - para maiusculas sim UPPER().

No PostgreSQL o ILIKE funciona como um LIKE “case-insensitive” (alem das opcoes de uso de expressoes regulares nas comparacoes). Mais ai voce fica restrito ao PostgreSQL. :frowning:

Marcio Kuchma

Tá certo! Mas da na mesma, já que tanto o campo, como a string de pesquisa foram convertidas para maiusculas.

Sim, sim, claro. Funciona perfeitamente - tanto com uma, quanto com outra opcao. :smiley:

Marcio Kuchma