ฉันมีชั้นรูปร่างที่มีคุณลักษณะที่มีค่าที่ฉันต้องการจะใช้ตัวกรองสำหรับค่าที่แตกต่างจากNULL
NULL
การใช้ gui ที่มีอยู่สำหรับการสร้างเคียวรีนั้นจะพยายามอย่างสังหรณ์ใจ
"obj_art" != NULL
ซึ่งหมายความว่า'ให้คุณสมบัติทั้งหมดที่มีแอตทริบิวต์ "obj_art" ต่างจากNULL
" (นับได้มากกว่า 0 อย่างแน่นอน) การทดสอบข้อความค้นหานี้ให้ผลลัพธ์ที่แปลกประหลาดจากมุมมองของฉัน:
ดังนั้นสิ่งที่ฉันได้เรียนรู้จนถึงตอนนี้ก็คือฉันสามารถบรรลุสิ่งนี้ได้โดยใช้
"obj_art" IS NOT NULL
คำถามคือความแตกต่างระหว่าง!= NULL
และIS NOT NULL
คืออะไร?
!=
ไม่ได้หมายความว่า "ไม่"; หมายความว่า "ไม่เท่ากับ" IS NOT
หมายถึง "ไม่ได้" ดังนั้นผมจึงคิดว่านี่เป็นงานง่ายได้อย่างสมบูรณ์แบบ :)
NULL
ไม่ได้เป็นค่าฉันจะบอกว่ามันเป็นเรื่องง่ายที่จะลองใช้=
หรือ!=
เป็นวิธีที่คุณประเมินค่าอื่น ๆ มันไม่ได้จนกว่าคุณจะรู้ว่าNULL
ไม่ใช่ค่าที่ว่ามันเป็นงานง่ายที่จะใช้มากกว่าIS NOT
!=
หลายคนไม่ทราบว่าNULL
แท้จริงแล้วคืออะไร
NULL
อยู่ในรายการค่า (cp. ด้านบน) และถือว่าเป็นค่า 'ปกติ' และไม่มีปุ่มIS NULL
หรือพลาดเช่นนั้นเหรอ! ดังนั้นเมื่อเพียงพิมพ์คำถามเหล่านี้และด้วยความรู้ที่NULL
จะต้องได้รับการปฏิบัติในลักษณะพิเศษที่เราสามารถพูดคุยเกี่ยวกับสัญชาตญาณ แต่สำหรับ shure ไม่ได้อยู่ในบริบทของ GUI นี้