Giả sử bạn có một ứng dụng có trường boolean trong Userbảng được gọi Inactive.
Có bất cứ điều gì vốn đã sai khi chỉ lưu trữ sai là null? Nếu vậy bạn có thể vui lòng giải thích những gì xuống phía dưới? Tôi đã thảo luận điều này với ai đó vài tháng trước và cả hai chúng tôi đều đồng ý rằng điều đó không quan trọng miễn là bạn làm điều đó một cách nhất quán trong toàn bộ ứng dụng / cơ sở dữ liệu. Gần đây, một người mà tôi biết đã nhấn mạnh rằng "đúng" truehoặc falsenên được sử dụng, nhưng họ không thực sự đưa ra lời giải thích về lý do tại sao.
SELECT * FROM foo WHERE bar = FALSEkhông đưa ra kết quả mà bạn mong đợi.
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the databaseđây là sự khôn ngoan được chấp nhận và bạn không nên xác định lại ý nghĩa của Null trong ứng dụng của bạn. Nó sẽ gây nhầm lẫn cho mọi người khác làm việc với mã của bạn.