ฟังก์ชันSQL NULL
ฟังก์ชัน SQL IFNULL(), ISNULL(), COALESCE() และ NVL()
ดูตาราง "ผลิตภัณฑ์" ต่อไปนี้:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
สมมติว่าคอลัมน์ "UnitsOnOrder" เป็นทางเลือก และอาจมีค่า NULL
ดูคำสั่ง SELECT ต่อไปนี้:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
ในตัวอย่างข้างต้น หากค่า "UnitsOnOrder" ใดๆ เป็น NULL ผลลัพธ์จะเป็น NULL
โซลูชั่น
MySQL
ฟังก์ชัน MySQL IFNULL()
ให้คุณคืนค่าทางเลือกหากนิพจน์เป็น NULL:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
หรือเราจะใช้ฟังก์ชันแบบนี้ก็ได้
COALESCE()
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;
SQL Server
ฟังก์ชัน SQL Server
ISNULL()
ช่วยให้คุณคืนค่าอื่นเมื่อนิพจน์เป็น NULL:
SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products;
MS Access
ฟังก์ชัน MS Access
IsNull()
ส่งคืนค่า TRUE (-1) หากนิพจน์เป็นค่า Null มิฉะนั้น FALSE (0):
SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;
Oracle
ฟังก์ชัน Oracle NVL()
บรรลุผลเช่นเดียวกัน:
SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))
FROM Products;