Saya memiliki lapisan bentuk dengan atribut yang berisi NULLnilai yang ingin saya terapkan filter untuk nilai yang berbeda NULL.
Menggunakan gui yang tersedia untuk konstruksi permintaan seperti itu, orang akan mencoba secara intuitif
"obj_art" != NULL
Yang berarti 'beri saya semua fitur dengan atribut "obj_art" berbeda dari NULL' (jumlah ini pasti lebih dari 0). Menguji permintaan ini memberikan hasil yang aneh dari sudut pandang saya:
Jadi yang saya pelajari sejauh ini adalah saya bisa mencapainya dengan menggunakan
"obj_art" IS NOT NULL
Pertanyaannya adalah, apa perbedaan antara != NULLdan IS NOT NULL?
!=tidak berarti "tidak"; itu berarti "tidak sama dengan". IS NOTberarti "tidak" jadi saya pikir ini sangat intuitif :)
NULLtidak nilai saya akan mengatakan itu adalah intuitif untuk mencoba menggunakan =atau !=sebagai yang bagaimana Anda menilai nilai lain. Tidak sampai Anda tahu bahwa NULLitu bukan nilai yang benar-benar intuitif untuk digunakan IS NOTdaripada !=. Banyak yang tidak menyadari apa yang NULLsesungguhnya.
NULLada dalam daftar nilai (cp. Di atas), dan karenanya diperlakukan sebagai nilai 'normal'. Dan tidak ada tombol IS NULL, atau aku melewatkannya ?! Jadi, ketika hanya mengetik permintaan seperti itu dan dengan pengetahuan, yang NULLharus diperlakukan dengan cara khusus kita bisa membahas tentang intuisi, tetapi untuk shure tidak dalam konteks GUI INI.


