ทั้ง ISNULL() ฟังก์ชันและ IS NULL ตัวดำเนินการเปรียบเทียบ ไม่มีความแตกต่างอย่างมีนัยสำคัญและมีพฤติกรรมร่วมกันบางอย่าง ความแตกต่างเดียวที่เราเห็นคือในไวยากรณ์ของพวกเขา ฟังก์ชัน ISNULL() จะมี Expression เป็นอาร์กิวเมนต์ของมัน ในขณะที่ IS NULL ตัวดำเนินการเปรียบเทียบมี Expression อยู่ทางซ้ายของมัน มิฉะนั้น ทั้งสองคืนค่า 1 หาก Expression เป็น NULL และ 0 หาก Expression ไม่ใช่ NULL ตัวอย่างต่อไปนี้จะสาธิตแนวคิดข้างต้น:
mysql> Select 1 IS NULL; +-----------+ | 1 IS NULL | +-----------+ | 0 | +-----------+ 1 row in set (0.00 sec) mysql> Select ISNULL(1); +-----------+ | ISNULL(1) | +-----------+ | 0 | +-----------+ 1 row in set (0.00 sec) mysql> Select ISNULL(1/0); +-------------+ | ISNULL(1/0) | +-------------+ | 1 | +-------------+ 1 row in set (0.00 sec) mysql> Select 1/0 IS NULL; +-------------+ | 1/0 IS NULL | +-------------+ | 1 | +-------------+ 1 row in set (0.00 sec) mysql> Select * from Employee WHERE Salary IS NULL; +----+-------+--------+ | ID | Name | Salary | +----+-------+--------+ | 7 | Aryan | NULL | | 8 | Vinay | NULL | +----+-------+--------+ 2 rows in set (0.00 sec) mysql> Select * from Employee WHERE ISNULL(Salary); +----+-------+--------+ | ID | Name | Salary | +----+-------+--------+ | 7 | Aryan | NULL | | 8 | Vinay | NULL | +----+-------+--------+ 2 rows in set (0.00 sec)