Katakanlah Anda memiliki aplikasi yang memiliki bidang boolean dalam Usertabelnya yang disebut Inactive.
Apakah ada yang salah dengan menyimpan palsu sebagai nol? Jika demikian, bisakah Anda menjelaskan apa sisi buruknya? Saya telah membahas hal ini dengan seseorang beberapa bulan yang lalu dan kami berdua sepakat bahwa itu tidak masalah selama Anda melakukannya secara konsisten di seluruh aplikasi / database. Baru-baru ini, seseorang yang saya kenal tegas bahwa "benar" trueatau falseharus digunakan, tetapi mereka tidak benar-benar memberikan penjelasan mengapa.
SELECT * FROM foo WHERE bar = FALSEtidak memberikan hasil yang Anda harapkan.
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the databaseIni adalah kebijaksanaan yang diterima dan Anda tidak boleh mendefinisikan kembali apa yang Null berarti dalam aplikasi Anda. Ini akan membingungkan semua orang yang bekerja dengan kode Anda.