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

ฟังก์ชัน ISNULL() ใน MySQL ใช้เพื่อตรวจสอบว่าค่าที่กำหนดเป็น NULL หรือไม่
หากค่าที่ตรวจสอบเป็น NULL จะคืนค่า 1 (จริง) แต่ถ้าไม่ใช่ NULL จะคืนค่า 0 (เท็จ)

เหมาะสำหรับการใช้ตรวจสอบข้อมูลที่อาจไม่มีการระบุค่า เพื่อใช้ในการจัดการกรณีค่าข้อมูลขาดหาย

ประโยชน์ของฟังก์ชัน ISNULL()

  • ตรวจสอบว่าค่าใดเป็น NULL
  • ใช้ใน WHERE, CASE, IF, หรือ SELECT เพื่อจัดการค่าที่ขาดหาย
  • ใช้คู่กับการฟิลเตอร์ข้อมูล เช่น แสดงเฉพาะรายการที่ยังไม่มีข้อมูล
  • ใช้สร้างคอลัมน์ช่วยในการวิเคราะห์ข้อมูลที่ว่าง
  • ใช้ในการสร้างเงื่อนไขในกระบวนการคำนวณ

รูปแบบการใช้งาน

ISNULL(expression)
  • expression คือค่าหรือคอลัมน์ที่ต้องการตรวจสอบว่าเป็น NULL หรือไม่
  • คืนค่า 1 ถ้า expression เป็น NULL, คืนค่า 0 หากไม่เป็น

ตัวอย่างการใช้งาน

SQL
SELECT ISNULL(NULL) AS is_null_result;
-- ผลลัพธ์: 1

SELECT ISNULL('Hello') AS is_null_result;
-- ผลลัพธ์: 0

สมมติว่ามีตารางชื่อ products ซึ่งเก็บข้อมูลดังนี้

product_id name price
1Laptop25000
2SmartphoneNULL
3Keyboard1200
4MouseNULL

ตรวจสอบว่าสินค้าชิ้นไหนยังไม่กำหนดราคา

SQL
SELECT product_id, name, price,
       ISNULL(price) AS is_price_missing
FROM products;

ผลลัพธ์

product_id name price is_price_missing
1Laptop250000
2SmartphoneNULL1
3Keyboard12000
4MouseNULL1

หมายเหตุ

  • ISNULL() จะคืนค่า 1 เฉพาะเมื่อค่าคือ NULL เท่านั้น ไม่รวม 0, '', หรือ FALSE
  • ไม่ควรใช้สับสนกับ IFNULL() ซึ่งเอาไว้ใช้แทนค่าที่เป็น NULL ด้วยค่าที่กำหนด
  • ค่าที่เป็น "ช่องว่าง" หรือ 0 จะถือว่าไม่ใช่ NULL
  • การใช้ใน WHERE ISNULL(column) จะกรองเฉพาะ record ที่มี NULL จริง ๆ เท่านั้น
แชร์เรื่องนี้