Postgres est la base de données
Puis-je utiliser une valeur NULL pour une clause IN ? exemple:
SELECT *
FROM tbl_name
WHERE id_field IN ('value1', 'value2', 'value3', NULL)
Je veux limiter aux quatre valeurs.
J'ai essayé la déclaration ci-dessus et cela ne fonctionne pas, eh bien elle s'exécute mais n'ajoute pas les enregistrements avec des champs id NULL.
J'ai également essayé d'ajouter une condition OR mais cela fait juste tourner la requête sans fin en vue.
SELECT *
FROM tbl_name
WHERE other_condition = bar
AND another_condition = foo
AND id_field IN ('value1', 'value2', 'value3')
OR id_field IS NULL
Des suggestions ?
17 votes
Une instruction
dans
sera analysée de la même manière quechamp=val1 ou champ=val2 ou champ=val3
. Mettre un nul là-dedans se résumera àchamp=null
ce qui ne fonctionnera pas.1 votes
La deuxième requête devrait être correcte. Quelles autres choses sont dans votre clause
where
?0 votes
@Daniel A. White, mis à jour pour refléter la requête avec plus de conditions