ล่าสุดการพัฒนาเว็บบทเรียน
 

SQLค่า null


ค่าเป็นศูนย์แสดงข้อมูลที่ไม่รู้จักที่ขาดหายไป

โดยค่าเริ่มต้นคอลัมน์ตารางสามารถเก็บค่าเป็นศูนย์

บทนี้จะอธิบายเป็นโมฆะและไม่ได้เป็นผู้ประกอบการเป็นโมฆะ


ค่า 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() ฟังก์ชั่น