ค่าเป็นศูนย์แสดงข้อมูลที่ไม่รู้จักที่ขาดหายไป
โดยค่าเริ่มต้นคอลัมน์ตารางสามารถเก็บค่าเป็นศูนย์
บทนี้จะอธิบายเป็นโมฆะและไม่ได้เป็นผู้ประกอบการเป็นโมฆะ
ค่า SQL โมฆะ
หากคอลัมน์ในตารางเป็นตัวเลือกที่เราสามารถแทรกบันทึกใหม่หรือปรับปรุงการบันทึกที่มีอยู่โดยไม่ต้องเพิ่มค่าให้กับคอลัมน์นี้ ซึ่งหมายความว่าข้อมูลจะถูกบันทึกไว้มีค่าเป็น NULL
ค่าเป็นศูนย์ได้รับการปฏิบัติที่แตกต่างจากค่าอื่น ๆ
โมฆะจะถูกใช้เป็นตัวยึดสำหรับค่าที่ไม่รู้จักหรือไม่เหมาะสม
หมายเหตุ: มันเป็นไปไม่ได้ที่จะเปรียบเทียบโมฆะและ 0;พวกเขาจะไม่เทียบเท่า
SQL การทำงานกับค่า null
ดูต่อไปนี้ "Persons" ตาราง:
P_Id | นามสกุล | ชื่อจริง | ที่อยู่ | เมือง |
---|---|---|---|---|
1 | แฮนเซน | Ola | แซนด์เน | |
2 | Svendson | Tove | Borgvn 23 | แซนด์เน |
3 | Pettersen | Kari | ตาวังเงร์ |
สมมติว่า "Address" คอลัมน์ใน "Persons" ตารางเป็นตัวเลือก ซึ่งหมายความว่าหากเราแทรกบันทึกที่มีค่าสำหรับการไม่มี "Address" คอลัมน์ "Address" คอลัมน์จะถูกบันทึกไว้มีค่าเป็น NULL
วิธีการที่เราสามารถทดสอบค่าเป็นศูนย์?
มันเป็นไปไม่ได้ในการทดสอบสำหรับค่าเป็นศูนย์การเปรียบเทียบกับผู้ประกอบการเช่น = <หรือ <>
เราจะต้องใช้เป็นโมฆะและไม่ได้เป็นผู้ประกอบการเป็นโมฆะแทน
SQL เป็นโมฆะ
ทำอย่างไรเราจะเลือกเฉพาะระเบียนที่มีค่าเป็นศูนย์ใน "Address" คอลัมน์?
เราจะต้องใช้เป็นผู้ดำเนินโมฆะ:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
ผลที่ตั้งไว้จะมีลักษณะเช่นนี้
นามสกุล | ชื่อจริง | ที่อยู่ |
---|---|---|
แฮนเซน | Ola | |
Pettersen | Kari |
เคล็ดลับ: ใช้เสมอเป็นโมฆะจะมองหาค่าเป็นศูนย์
SQL เป็นไม่เป็นโมฆะ
ทำอย่างไรเราจะเลือกเฉพาะระเบียนที่มีค่าเป็นศูนย์ไม่มีใน "Address" คอลัมน์?
เราจะต้องใช้ไม่ได้เป็นผู้ประกอบการเป็นโมฆะ:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
ผลที่ตั้งไว้จะมีลักษณะเช่นนี้
นามสกุล | ชื่อจริง | ที่อยู่ |
---|---|---|
Svendson | Tove | Borgvn 23 |
ในบทต่อไปเราจะมาดูที่ ISNULL() , NVL() , IFNULL() และ COALESCE() ฟังก์ชั่น