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

ฟังก์ชัน IFNULL() เป็นฟังก์ชันใน SQL ที่ใช้สำหรับตรวจสอบค่าที่เป็น NULL แล้วแทนที่ด้วยค่าที่กำหนดไว้ โดย

  • ถ้าค่าเป็น NULL คืนค่าที่กำหนดไว้
  • ถ้าไม่ใช่ NULL คืนค่าต้นฉบับ

รูปแบบคำสั่ง

IFNULL(expression, replacement_value)
  • expression = ค่าที่ต้องการตรวจสอบ
  • replacement_value = ค่าที่จะใช้แทนถ้า expression เป็น NULL

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

แสดงที่อยู่เสริม (address2) โดยใส่ข้อความ “ไม่มีข้อมูล” หากเป็น NULL

SQL
SELECT address, IFNULL(address2, 'ไม่มีข้อมูล') AS address_info
FROM address;
  • ถ้า address2 เป็น NULL แสดงคำว่า "ไม่มีข้อมูล"
  • ถ้า address2 ไม่เป็น NULL แสดงค่าจาก address2

แสดงอีเมลลูกค้า ถ้าไม่มีให้แทนด้วยคำว่า “ไม่ระบุ”

SQL
SELECT first_name, last_name, IFNULL(email, 'ไม่ระบุ') AS email_status
FROM customer;

ใช้ในการคำนวณ

สมมติว่ามีตารางชื่อ payment_history

SQL
SELECT amount + IFNULL(discount, 0) AS net_amount
FROM payment_history;
  • ถ้าคอลัมน์ discount เป็น NULL จะใช้ค่า 0 แทน
  • ช่วยหลีกเลี่ยงผลลัพธ์ผิดพลาดจากการบวกกับ NULL
แชร์เรื่องนี้