Digamos que você tenha um aplicativo que tenha um campo booleano em sua User
tabela chamado Inactive
.
Existe algo inerentemente errado em apenas armazenar falso como nulo? Em caso afirmativo, você pode explicar qual deve ser o lado negativo? Eu discuti isso com alguém há alguns meses e nós dois concordamos que não deveria importar, desde que você faça isso de forma consistente em todo o aplicativo / banco de dados. Recentemente, alguém que eu conheço enfatizou que "verdadeiro" true
ou false
deveria ser usado, mas na verdade não explicava o porquê.
SELECT * FROM foo WHERE bar = FALSE
não dá os resultados que você espera.
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the database
esta é a sabedoria aceita e você não deve redefinir o que Null significa em seu aplicativo. Será confuso para todos os outros que trabalham com seu código.