ต้องการให้การคำนวณยอดรวมใช้ 0 เมื่อคอลัมน์ discount เป็น NULL และต้องการเขียนให้ใช้ได้กว้างในหลาย DBMS ควรใช้นิพจน์ใด

discount = NULL
NULLIF(discount, 0)
COALESCE(discount, 0)
NVL2(discount, 0)

เฉลยอธิบาย

COALESCE คืนค่าอาร์กิวเมนต์แรกที่ไม่เป็น NULL จึงคืน 0 เมื่อ discount เป็น NULL ส่วน NULLIF ทำให้เป็น NULL เมื่อสองค่าเท่ากัน การใช้ = NULL ไม่ถูกต้อง และ NVL2 เป็นฟังก์ชันเฉพาะบางระบบที่ต้องรับสามอาร์กิวเมนต์

ข้อสอบอื่นในวิชาการใช้ภาษา SQL

ดูข้อสอบวิชานี้ทั้งหมด →