Eu tenho uma tabela e preciso selecionar todas as linhas com um valor vazio para o fk_fc_id
campo (como um prelúdio para excluí-las),
Column | Type | Modifiers
---------------+-----------------------------+------------------------------------------------------------
di_timestamp | timestamp without time zone |
di_item_value | character varying(10) |
fk_fc_id | integer |
di_id | integer | not null default nextval('data_item_di_id_seq1'::regclass)
No entanto, isso não funciona,
# select fk_fc_id,di_timestamp,di_item_value from data_item where fk_fc_id="";
ERROR: zero-length delimited identifier at or near """"
LINE 1: ...di_timestamp,di_item_value from data_item where fk_fc_id="";
^
Tentar Null
também não funciona.
Se alguém tiver alguma sugestão sobre como resolver isso, ficaria muito grato.
postgresql
James
fonte
fonte
null
uso do=
operador sempre retornaránull
e fará com que essa linha seja excluída.Respostas:
Isso não é realmente relacionado à administração de banco de dados, nem ao PostgreSQL, mas como o @foibs respondeu, você deve dar uma olhada em IS NULL :
fonte
Você tem que usar aspas simples:
fonte
integer
. Como você pode ler nos comentários sob a resposta aceita, o OP decidiu tentar a comparação com uma sequência vazia apenas porque eles não descobriram como comparar corretamente com nulo (que é o que eles realmente procuravam).