Dúvida com SELECT * FROM "TABLE" WHERE "COLUMN_NAME" LIKE ? NO H2 DATABASE

4 respostas
J

Bom dia Pessoal,

Estou com uma dúvida aqui no H2 database. Estou dando um select no banco mas notei que até a comparação por like me parece case sensitive.

Minha sql:

Esse Select não pega os registros do banco que contenham “J” (maiúsculo). alguém já passou por isso no H2 Database?

Eu estava usando o MySQL e esse comando funcionava perfeitamente, mas tive que trocar pro H2 e estou com esse problema.

Desde já, Obrigado.

4 Respostas

pmlm

Isso é o comportamento normal de SQL. As instruções não são case sensitive mas os dados são.

Se realmente precisas de fazer isso podes usar UPPER / LOWER

SELECT * FROM PESSOA where UPPER(PES_NOME) LIKE  '%J%'  OR UPPER(PES_RAZAOSOCIAL) LIKE '%J%'
J

Hum… Entendi pmlm.

A diferença é que no MySQL quando fazia esse tipo de pesquisa ele buscava direto sem precisar dessa instrução. Independente de ser com o primeiro caracter maiúsculo e o restante minusculo… ele buscava tudo…

Mas isso vai resolver meu problema aqui com o H2 Database.

Muito obrigado pela atenção.

Valeu.

pmlm

http://www.h2database.com/html/datatypes.html#varchar_ignorecase_type

J

Mais uma vez muito obrigado. Lí essa documentação procurando por isso, mas passou batido.

Valeu.

Criado 29 de abril de 2010
Ultima resposta 30 de abr. de 2010
Respostas 4
Participantes 2