J'ai une table et je dois sélectionner toutes les lignes avec une valeur vide pour le fk_fc_id
champ (en prélude à leur suppression),
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)
Mais cela ne fonctionne pas,
# 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="";
^
Essayer Null
ne fonctionne pas non plus.
Si quelqu'un a des suggestions sur la façon de trier cela, je vous en serais très reconnaissant.
postgresql
James
la source
la source
null
utilisation de l'=
opérateur renverra toujoursnull
et entraînera l'exclusion de cette ligne.Réponses:
Ce n'est pas vraiment lié à l'administration de la base de données, ni à PostgreSQL, mais comme @foibs a répondu, vous devriez jeter un œil à IS NULL :
la source
Vous devez utiliser un guillemet simple:
la source
integer
. Comme vous pouvez le lire dans les commentaires sous la réponse acceptée, l'OP a décidé d'essayer la comparaison avec une chaîne vide uniquement parce qu'ils n'avaient pas compris comment comparer correctement à null (ce qu'ils recherchaient en fait).