Em 12/12/10, Beto Lima<[email protected]> escreveu: > Pessoal estou com problema que é o seguinte: > tenho uma tabela assim: > > CREATE TABLE tempo_duracao_prova > ( > id_tempo_duracao_prova serial NOT NULL, > id_agenda integer NOT NULL, > id_pergunta integer NOT NULL, > tipo_pergunta tipo_pergunta NOT NULL, > id_func_inc integer, > data_inicio_questao timestamp without time zone NOT NULL DEFAULT now(), > data_fim_questao timestamp without time zone, > CONSTRAINT tempo_duracao_prova_pkey PRIMARY KEY (id_tempo_duracao_prova) > ) > > quando inseridos os dados então o campo data_fim_questao fica vazio porque > ele vai ser atualizado em outro momento. > Só que mesmo tendo registros na tabela não consigo buscar resultados com > este select: > > select * from tempo_duracao_prova where data_fim_questao = null > > não me retorna nada, mas o campo está vazio e tenho certeza de que está. > ja tentei fazer cast e nada. > > select * from tempo_duracao_prova where data_fim_questao::date = null > select * from tempo_duracao_prova where data_fim_questao::text = '' >
Do manual: "Do not write expression = NULL because NULL is not "equal to" NULL." http://www.postgresql.org/docs/current/interactive/functions-comparison.html O correto é usar: ... where data_fim_questao IS NULL ou ... where data_fim_questao ISNULL Outra opção é alterar o parâmetro de configuração transform_null_equals no posrgresql.conf: http://www.postgresql.org/docs/current/interactive/runtime-config-compatible.html#GUC-TRANSFORM-NULL-EQUALS Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
