MySQL IN() 函数返回 NULL 的情况?


以下两种情况下,MySQL IN() 函数将返回 NULL 作为结果 −

案例 1 − 当左边的表达式为 NULL 时

 如果左边的表达式为 NULL,则 IN() 函数将返回 NULL。以下示例将演示这一点 −

mysql> Select NULL IN (1,2,3,4,10);
+----------------------+
| NULL IN (1,2,3,4,10) |
+----------------------+
|       NULL           |
+----------------------+
1 row in set (0.00 sec)

案例 2 − 当列表中的一个表达式为 NULL 且未找到匹配项时

如果 IN() 函数找不到任何匹配项,并且列表中的一个表达式为 NULL,则它将返回 NULL。如果会找到匹配项,并且列表中的一个表达式为 NULL,则它将返回 1 作为输出。以下示例将演示这一点 −

mysql> Select 10 IN (NULL,11,12);
+--------------------+
| 10 IN (NULL,11,12) |
+--------------------+
|      NULL          |
+--------------------+
1 row in set (0.00 sec)

mysql> Select 10 IN (NULL,11,12,10);
+-----------------------+
| 10 IN (NULL,11,12,10) |
+-----------------------+
|         1             |
+-----------------------+
1 row in set (0.00 sec)

更新于: 22-6 月 -2020

292 次浏览

开启你的 职业生涯

完成课程并获得认证

开始
广告