Có, có sự khác biệt lớn giữa NULL
giá trị và giá trị trống / rỗng.
Đây là một tài nguyên mô tả sự khác biệt.
Khi myText IS NULL :
-
myText IS NOT NULLđánh giá thànhFALSE -
myText != ''đánh giá thànhNULL(về cơ bản hoạt động giống nhưFALSEtrong trường hợp cụ thể này bạn đã viết)
Tuy nhiên, bạn không nên có thói quen đối xử với họ như nhau, vì hầu hết thời gian họ sẽ cư xử khác nhau:Ví dụ:
Giả sử bạn có một bảng tbl :
id text
1 NULL
2
3 abc
Lưu ý: 1 chứa NULL giá trị và 2 chứa một chuỗi trống ('' ).
Nếu bạn chạy truy vấn sau:
SELECT * FROM tbl WHERE text != ''
... nó sẽ trả về bản ghi 3.
Nếu bạn chạy truy vấn sau:
SELECT * FROM tbl WHERE text IS NOT NULL
... nó sẽ trả về bản ghi 2 và 3.