আসলে, 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() ফাংশন 'রাম' প্রদান করে কারণ এটি প্রথম আর্গুমেন্ট এবং এটি দ্বিতীয় আর্গুমেন্ট থেকে আলাদা।