Digamos que você tenha um aplicativo que tenha um campo booleano em sua Usertabela 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" trueou falsedeveria ser usado, mas na verdade não explicava o porquê.
SELECT * FROM foo WHERE bar = FALSEnã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 databaseesta é 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.