Załóżmy, że masz aplikację o polu boolowskim w User
tabeli o nazwie Inactive
.
Czy jest coś z natury złego w przechowywaniu fałszu jako wartości zerowej? Jeśli tak, czy możesz wyjaśnić, co powinno być wadą? Rozmawiałem o tym z kimś kilka miesięcy temu i oboje zgodziliśmy się, że nie powinno to mieć znaczenia, o ile konsekwentnie robisz to w całej aplikacji / bazie danych. Ostatnio ktoś, kogo znam, stanowczo podkreślił, że jest „prawdziwy” true
lub false
powinien zostać użyty, ale tak naprawdę nie wyjaśnił dlaczego.
SELECT * FROM foo WHERE bar = FALSE
nie daje oczekiwanych rezultatów.
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the database
jest to przyjęta mądrość i nie powinieneś redefiniować znaczenia Null w swojej aplikacji. Będzie to mylące dla wszystkich osób pracujących z twoim kodem.