MySQL IN()函数何时返回NULL?
以下是MySQLIN()
函数返回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并且找不到匹配项时
如果找不到任何匹配项且列表中的表达式之一为NULL,则IN()函数将返回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)