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)
广告