ฟังก์ชัน NULLIF(a, b) เป็นฟังก์ชันใน SQL ที่ใช้เปรียบเทียบค่า a กับ b
- ถ้า
a = bคืนค่าNULL - ถ้า
a ≠ bคืนค่าa
ใช้เพื่อลดความซ้ำซ้อน หรือหลีกเลี่ยงค่าที่ไม่ต้องการนำมาใช้ในเงื่อนไข
รูปแบบการใช้งาน
NULLIF(expression1, expression2)
ตัวอย่างการใช้งาน
เปรียบเทียบค่าตัวเลข
SQL
SELECT NULLIF(100, 100) AS result1,
NULLIF(100, 50) AS result2;- result1 = NULL เพราะ
100 = 100จึงได้ผลลัพธ์เป็นNULL - result2 = 100 เพราะ
100 ≠ 50จึงคืนค่า100
เปรียบเทียบข้อความ
SQL
SELECT NULLIF('admin', 'admin') AS result1,
NULLIF('admin', 'user') AS result2;- result1 = NULL เพราะค่าที่เปรียบเทียบมีค่าเท่ากัน
- result2 = admin เพราะค่าที่เปรียบเทียบมีค่าไม่เท่ากัน (จึงคืนค่าเป็นค่าแรก)
ใช้ร่วมกับการดึงข้อมูลในตาราง
SQL
SELECT first_name,
NULLIF(email, '') AS email_clean
FROM customer;- ถ้า
emailเป็นค่าว่าง ('') คืนค่าNULLแทน - เหมาะสำหรับการจัดการข้อมูลที่มีค่าว่างแต่ไม่ใช่
NULL