是否可以在NULL
等语句中包含SELECT * FROM my_table WHERE my_field IN (1,2,NULL);
?
如果没有,你怎么建议只允许几个整数或NULL?
最好像这样使用OR
:
SELECT *
FROM my_table
WHERE
my_field IN (1,2)
OR my_field IS NULL;
答案 0 :(得分:3)
使用OR
,这是你想要的最清晰的表达方式。
您还可以提供在my_field
为NULL
SELECT *
FROM my_table
WHERE COALESCE(my_field, 1) IN (1,2);
但在NULL
列表中使用IN
无法使用,因为NULL
通常 不等于NULL
。 (它也不是不相等的 - 它是未定义的)。