Скажімо, у вас є додаток, який має булеве поле у своїй User
таблиці під назвою Inactive
.
Чи є щось по суті не так у тому, щоб просто зберігати false як null? Якщо так, чи можете ви пояснити, якою має бути нижня сторона? Я обговорював це з кимось кілька місяців тому, і ми обоє погодилися, що це не має значення, доки ви це робите послідовно в додатку / базі даних. Нещодавно хтось, кого я знаю, наголошував на тому, що це "правда" true
або його false
слід використовувати, але вони насправді не давали пояснення, чому це відбувається.
SELECT * FROM foo WHERE bar = FALSE
не дає результатів, яких ви очікуєте.
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the database
це загальноприйнята мудрість, і ви не повинні переосмислювати, що означає Null у вашій заявці. Це буде заплутати всіх, хто працює з вашим кодом.