Допустим, у вас есть приложение с логическим полем в Userтаблице Inactive.
Есть ли что-то по сути неправильно просто хранить false как ноль? Если да, то можете ли вы объяснить, какой должна быть обратная сторона? Я обсуждал это с кем-то несколько месяцев назад, и мы оба согласились, что это не должно иметь значения, если вы делаете это последовательно в приложении / базе данных. В последнее время кто-то из моих знакомых подчеркивал, что это «правда» 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 в вашем приложении. Это будет сбивать с толку всех, кто работает с вашим кодом.