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)

更新时间: 2020 年 6 月 22 日

292 次浏览

开启你的事业

通过完成课程获得认证

开始
广告