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ưFALSE
trong 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.