จริงๆ แล้ว ฟังก์ชัน MySQL IFNULL() และ NULLIF() ทั้งคู่มีรูปแบบไวยากรณ์เกือบเหมือนกัน ดังนี้
รูปแบบไวยากรณ์ของ IFNULL()
IFNULL(expression1, expression2)
รูปแบบไวยากรณ์ของ NULLIF()
NULLIF(expression1, expression2)
สามารถแยกแยะได้จากวิธีที่พวกมันคืนค่า argument แรกเป็นผลลัพธ์ ฟังก์ชัน IFNULL() จะคืนค่า argument แรกเป็นผลลัพธ์ หากไม่ใช่ NULL และฟังก์ชัน NULLIF() จะคืนค่า argument แรกเป็นผลลัพธ์ หากทั้งสอง argument ไม่เหมือนกัน
mysql> Select IFNULL('Ram','Shyam');
+-----------------------+
| IFNULL('Ram','Shyam') |
+-----------------------+
| Ram |
+-----------------------+
1 row in set (0.00 sec)
mysql> Select NULLIF('Ram','Shyam');
+-----------------------+
| NULLIF('Ram','Shyam') |
+-----------------------+
| Ram |
+-----------------------+
1 row in set (0.00 sec)
จากชุดผลลัพธ์ของทั้งสองฟังก์ชันข้างต้น ดูเหมือนจะคล้ายกัน แต่ IFNULL() คืนค่า 'Ram' เพราะมันคือ argument แรกและไม่ใช่ NULL ส่วน NULLIF() คืนค่า 'Ram' เพราะมันคือ argument แรกและต่างจาก argument ที่สอง