Configuração do banco PostgreSQL para case insensitive!

4 respostas
S

Boa tarde a todos…

Gostaria de saber é possível configurar o SGDB PostgreSQL para case insensitive??

Obrigado

Diego

4 Respostas

esb

Fala slipkorn,

Tudo bem?
Nomes de tabelas são case-insensitive, ou seja

SELECT * FROM TABELA WHERE CAMPO = 'VALOR'

é igual a

select * from TaBeLa where cAmPo = 'VALOR'

Mas suponho que você esteja se referindo as pesquisas no banco, então tente usar um operador de expressão regular do PostgreSQL.

SELECT * FROM TABELA WHERE CAMPO ~* 'VALOR'

Veja se é isso que você quer e nos diga!
Abraços,

Eduardo

S

Ola,

O problema é que estou utilizando o hibernate+criteria Ex:

public List listCriterio(Class clazz, String classe2, String atributo, String criterio) {
         List lista=null;
         Criteria crit = HibernateUtility.getSession().createCriteria(clazz,atributo);
         
         if (classe2==null){
             crit.add(Restrictions.like(atributo,"%"+criterio+"%"));
             crit.addOrder(Order.asc(atributo));
             crit.setMaxResults(30);
             lista=crit.list();
         }
         else{
             crit = crit.createCriteria(classe2);
             crit.add(Restrictions.like(atributo,"%"+criterio+"%") );
             crit.addOrder(Order.asc(atributo));
             crit.setMaxResults(30);
             lista=crit.list();
         }
         return lista;
     }

Alguma sugestão para esse caso?

Obrigado

Diego

F

Olá,

Ao invez de usar o metodo Restrictions.like use Restrictions.ilike

http://www.hibernate.org/hib_docs/v3/api/org/hibernate/criterion/Restrictions.html#ilike(java.lang.String,%20java.lang.Object)

]['s

S

Valew pela dica… funcionou!!!

Obrigado a todos!

Criado 12 de outubro de 2006
Ultima resposta 12 de out. de 2006
Respostas 4
Participantes 3