SQL NULL Values


ค่า NULL คืออะไร

เขตข้อมูลที่มีค่า NULL คือเขตข้อมูลที่ไม่มีค่า ถ้าฟิลด์ในตารางเป็นตัวเลือก คุณสามารถแทรกเรคคอร์ดใหม่หรืออัพเดตเรคคอร์ดโดยไม่ต้องเพิ่มค่าลงในฟิลด์นี้ จากนั้นฟิลด์จะถูกบันทึกด้วยค่า NULL

หมายเหตุ:ค่า NULL จะแตกต่างจากค่าศูนย์หรือฟิลด์ที่มีช่องว่าง เขตข้อมูลที่มีค่า NULL คือเขตข้อมูลที่ถูกเว้นว่างไว้ระหว่างการสร้างเรคคอร์ด!


จะทดสอบค่า NULL ได้อย่างไร

ไม่สามารถทดสอบค่า NULL ด้วยตัวดำเนินการเปรียบเทียบ เช่น =, < หรือ <>

เราจะต้องใช้ ตัวดำเนินการ IS NULLและ IS NOT NULLแทน

ไวยากรณ์ IS NULL

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

ไวยากรณ์ IS NOT NULL

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;


ฐานข้อมูลสาธิต

ด้านล่างนี้คือการเลือกจากตาราง “Customers” ในฐานข้อมูลตัวอย่าง Northwind:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1
Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4
Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

เคล็ดลับ:ใช้ IS NULL เสมอเพื่อค้นหาค่า NULL


IS NOT NULL Operator

IS NOT NULLดำเนินการใช้เพื่อทดสอบค่าที่ไม่ว่าง (ไม่ใช่ค่า NULL)

SQL ต่อไปนี้แสดงลูกค้าทั้งหมดที่มีค่าในช่อง “Address”:

ตัวอย่าง

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;