NULL trong SQL Server
Trong hướng dẫn này, bạn sẽ tìm hiểu về NULL
và logic ba giá trị trong SQL Server. Bạn cũng sẽ tìm hiểu cách sử dụng toán tử IS NULL
và IS NOT NULL
để kiểm tra xem giá trị có NULL
hay không.
NULL và logic ba giá trị
Trong thế giới cơ sở dữ liệu, NULL
được sử dụng để chỉ ra sự vắng mặt của bất kỳ giá trị dữ liệu nào. Ví dụ, tại thời điểm ghi thông tin khách hàng, email có thể không xác định, vì vậy nó được ghi lại là NULL
trong cơ sở dữ liệu.
Thông thường, kết quả của một biểu thức logic là TRUE
hoặc FALSE
. Tuy nhiên, khi NULL
được tham gia vào đánh giá logic, kết quả là UNKNOWN
. Đây được gọi là logic ba giá trị: TRUE
, FALSE
và UNKNOWN
.
Kết quả của các so sánh sau đây là UNKNOWN
:
NULL = 0
NULL <> 0
NULL > 0
NULL = NULL
NULL
không bằng không có gì, thậm chí NULL
không bằng NULL
vì mỗi cái NULL
có thể khác nhau.
Ví dụ về NULL trong SQL Server
Hãy sử dụng bảng customers
trong cơ sở dữ liệu mẫu để làm ví dụ cho NULL trong SQL Server.
Câu lệnh sau đây tìm kiếm những khách hàng không có số điện thoại trong bảng customers
:
SELECT
customer_id,
first_name,
last_name,
phone
FROM
sales.customers
WHERE
phone = NULL
ORDER BY
first_name,
last_name;
Truy vấn trên trả về một tập kết quả rỗng.
Mệnh đề WHERE
trả về các bản ghi có biểu thức tìm kiếm được đánh giá là TRUE
. Tuy nhiên, biểu thức WHERE phone = NULL
được đánh giá là UNKNOWN
.
Do đó, bạn nhận được một tập kết quả trống.
Để kiểm tra xem một giá trị có NULL
hay không, bạn luôn sử dụng toán tử IS NULL
.
SELECT
customer_id,
first_name,
last_name,
phone
FROM
sales.customers
WHERE
phone IS NULL
ORDER BY
first_name,
last_name;
Đây là kết quả:
Truy vấn trả về những khách hàng không có thông tin điện thoại.
Như bạn có thể đoán, để kiểm tra xem giá trị có không NULL
, bạn có thể sử dụng toán tử IS NOT NULL
.
Truy vấn sau đây trả về những khách hàng có thông tin điện thoại:
SELECT
customer_id,
first_name,
last_name,
phone
FROM
sales.customers
WHERE
phone IS NOT NULL
ORDER BY
first_name,
last_name;
Đây là kết quả:
Trong hướng dẫn này, bạn đã tìm hiểu về NULL
, logic ba giá trị và cách kiểm tra xem một giá trị có NULL
hay không.