Katakanlah Anda memiliki aplikasi yang memiliki bidang boolean dalam User
tabelnya 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" true
atau false
harus digunakan, tetapi mereka tidak benar-benar memberikan penjelasan mengapa.
SELECT * FROM foo WHERE bar = FALSE
tidak 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 database
Ini 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.