Saya memiliki lapisan bentuk dengan atribut yang berisi NULL
nilai 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 != NULL
dan IS NOT NULL
?
!=
tidak berarti "tidak"; itu berarti "tidak sama dengan". IS NOT
berarti "tidak" jadi saya pikir ini sangat intuitif :)
NULL
tidak nilai saya akan mengatakan itu adalah intuitif untuk mencoba menggunakan =
atau !=
sebagai yang bagaimana Anda menilai nilai lain. Tidak sampai Anda tahu bahwa NULL
itu bukan nilai yang benar-benar intuitif untuk digunakan IS NOT
daripada !=
. Banyak yang tidak menyadari apa yang NULL
sesungguhnya.
NULL
ada 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 NULL
harus diperlakukan dengan cara khusus kita bisa membahas tentang intuisi, tetapi untuk shure tidak dalam konteks GUI INI.