MySQL การใช้งานฟังก์ชัน NULLIF()

ฟังก์ชัน 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
แชร์เรื่องนี้