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 次瀏覽

開啟你的 職業生涯

完成課程並獲得認證

開始
廣告
© . All rights reserved.