Supponiamo che tu abbia un'applicazione che ha un campo booleano nella sua User
tabella chiamata Inactive
.
C'è qualcosa di intrinsecamente sbagliato nel solo memorizzare false come null? In tal caso, puoi spiegare quale dovrebbe essere il lato negativo? Ne ho discusso con qualcuno qualche mese fa ed entrambi abbiamo concordato che non dovrebbe importare fintanto che lo fai coerentemente in tutta l'app / database. Recentemente, qualcuno che conosco è stato enfatico sul fatto che "vero" true
o false
dovrebbe essere usato, ma in realtà non hanno dato una spiegazione del perché.
SELECT * FROM foo WHERE bar = FALSE
non dà i risultati che ti aspetti.
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the database
questa è la saggezza accettata e non dovresti ridefinire il significato di Null nella tua applicazione. Sarà confuso per tutti gli altri che lavorano con il tuo codice.