PostgreSQL O ILIKE não retorna nenhum dado?

2

Estou testando um código sql que deve ser usado para pesquisar registros. Eu tenho banco de dados A (minha cópia de casa) e banco de dados B (um servidor para um site, o banco de dados é um clone absoluto do banco de dados A). Para o propósito deste exemplo, digamos que eu tenho uma tabela com 3 colunas -

  1. nome de usuário
  2. primeiro nome
  3. sobrenome

Imagine que você tenha alguns registros na tabela que contenham as palavras "teste", "teste" e "testador" em todas as colunas. Agora você deseja selecionar todos os registros que contenham a palavra "teste" em todas as colunas. A consulta sql apropriada seria:

SELECT * FROM users WHERE username ILIKE $$%test%$$ OR firstname ILIKE $$%test%$$ OR lastname ILIKE $$%test%$$;  

seu código retorna os dados corretos no banco de dados A, mas não retorna nada no banco de dados B. As cópias são idênticas - eu despejei o db A (minha máquina local) e importei para o db B (o servidor). Só tenho acesso a esse servidor para que ninguém possa atrapalhar as coisas. Além disso, tentei descartar o db B e recriá-lo com a mesma importação apenas para ter certeza e novamente sem resultados após a consulta sql.

A única diferença entre o banco de dados A e o banco de dados B é que o banco de dados A está sendo executado em uma máquina de 32 bits e o banco de dados B executa na máquina de 64 bits. As versões são diferentes -db A executa 8.3.5 e o db B executa 9.0.2, a configuração é o padrão que vem quando você instala o PostgreSQL.

Isso pode estar relacionado ao sistema operacional de 32/64 bits? É por causa das versões diferentes ou é uma configuração que eu preciso ativar? Tenho 99,999% de certeza de que é o sql que estou executando é o correto, então descartei essa ...

    
por tftd 14.02.2011 / 04:01

1 resposta

1

ILIKE depende das configurações de localidade, portanto, você deve compará-las nas duas máquinas. Dê uma olhada no "22.1. Suporte a Localidades" , e especialmente em "22.1.3. Problemas ".

    
por 21.02.2011 / 08:47

Tags