Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เมื่อไหร่ที่ฟังก์ชัน IN() ใน MySQL จะคืนค่า NULL


ต่อไปนี้คือ 2 กรณีที่ฟังก์ชัน IN() ของ MySQL คืนค่า NULL เป็นผลลัพธ์:

กรณีที่ 1 - เมื่อ Expression ด้านซ้ายเป็น NULL

ฟังก์ชัน IN() จะคืนค่า NULL หาก Expression ด้านซ้ายเป็น 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 - เมื่อ Expression หนึ่งในรายการเป็น NULL และไม่พบค่าตรงกัน

ฟังก์ชัน IN() จะคืนค่า NULL หากไม่พบค่าตรงกัน และ Expression หนึ่งในรายการเป็น NULL หากมีค่าตรงกันและ Expression หนึ่งในรายการเป็น 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)