我可以使用NULL作为MySQL select语句的一部分,其中结果是“IN(1,2,NULL)”吗?

时间:2013-11-07 20:28:15

标签: mysql arrays select null

是否可以在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;

1 个答案:

答案 0 :(得分:3)

使用OR,这是你想要的最清晰的表达方式。

您还可以提供在my_fieldNULL

时使用的默认值
SELECT *
FROM my_table
WHERE COALESCE(my_field, 1) IN (1,2);

但在NULL列表中使用IN无法使用,因为NULL 通常 不等于NULL。 (它也不是不相等的 - 它是未定义的)。