ต่อไปนี้เป็นสองกรณีที่ฟังก์ชัน MySQL IN() ส่งคืนค่า NULL เป็นผลลัพธ์ -
Case-1 − เมื่อนิพจน์ทางด้านซ้ายเป็น NULL
IN() ฟังก์ชันจะคืนค่า NULL หากนิพจน์ทางด้านซ้ายเป็น 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)
Case-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)