Допустим, у вас есть приложение с логическим полем в 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 в вашем приложении. Это будет сбивать с толку всех, кто работает с вашим кодом.