वास्तव में, MySQL IFNULL() और NULLIF() दोनों फंक्शन्स का सिंटैक्स लगभग समान है जैसा कि नीचे दिया गया है:
IFNULL() का सिंटैक्स
IFNULL(expression1, expression2)
NULLIF() का सिंटैक्स
NULLIF(expression1, expression2)
उन्हें इस तरह से अलग किया जा सकता है कि वे पहले आर्गुमेंट को परिणाम के रूप में कैसे लौटाते हैं। IFNULL() फंक्शन पहले आर्गुमेंट को परिणाम के रूप में लौटाएगा यदि यह NULL नहीं है और NULLIF() फंक्शन पहले आर्गुमेंट को परिणाम के रूप में लौटाएगा यदि दोनों आर्गुमेंट समान नहीं हैं।
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' लौटाता है क्योंकि यह इसका पहला आर्गुमेंट है और यह NULL नहीं है। दूसरी ओर NULLIF() फंक्शन 'Ram' लौटाता है क्योंकि यह पहला आर्गुमेंट है और यह दूसरे आर्गुमेंट से भिन्न है।