Latest web development tutorials

SQL ISNULL () NVL () IFNULL () และเชื่อมต่อกัน () ฟังก์ชัน

SQL ISNULL () NVL () IFNULL () และเชื่อมต่อกัน () ฟังก์ชัน

ดูต่อไป "ผลิตภัณฑ์" ตาราง:

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23
3 Gorgonzola 15.67 9 20

หาก "UnitsOnOrder" เป็นตัวเลือกและอาจมีค่าเป็นศูนย์

เราใช้คำสั่ง SELECT ต่อไปนี้:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products

ในตัวอย่างข้างต้นถ้ามี "UnitsOnOrder" ค่าเป็นโมฆะแล้วผลเป็นโมฆะ

ISNULL ไมโครซอฟท์ () ฟังก์ชั่นที่ใช้ในการระบุวิธีการจัดการค่าเป็นศูนย์

NVL () IFNULL () และเชื่อมต่อกัน () ฟังก์ชันยังสามารถบรรลุผลเดียวกัน

ที่นี่เราหวังว่าค่า NULL คือ 0

ตอนนี้ถ้า "UnitsOnOrder" เป็นโมฆะก็จะไม่ส่งผลกระทบต่อการคำนวณเพราะถ้าค่าเป็นโมฆะ ISNULL () ผลตอบแทน 0:

SQL Server / MS Access

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products

คำพยากรณ์

ออราเคิลไม่ IsNull () ฟังก์ชัน แต่เราสามารถใช้ NVL () ฟังก์ชั่นเพื่อให้บรรลุผลเดียวกัน

SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products

MySQL

MySQL ยังมี ISNULL () ฟังก์ชันที่คล้ายกัน แต่จะทำงานร่วมกับไมโครซอฟท์ ISNULL () ฟังก์ชันเป็นบิตที่แตกต่างกัน

ใน MySQL เราสามารถใช้ IFNULL () ฟังก์ชั่นดังต่อไปนี้:

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products

หรือเราสามารถใช้เชื่อมต่อกัน () ฟังก์ชั่นดังต่อไปนี้:

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products