Để so sánh giá trị NULL và hiển thị giá trị 1 cho các giá trị này trong một cột MySQL mới, bạn có thể sử dụng hàm IF() kết hợp với thuộc tính IS NULL.
Ví dụ minh họa
Trước tiên, tạo một bảng mẫu:
mysql> create table DemoTable (
Name varchar(100),
CountryName varchar(100)
);
Chèn một số bản ghi vào bảng:
mysql> insert into DemoTable values('Chris','US');
mysql> insert into DemoTable values('Mike',NULL);
mysql> insert into DemoTable(Name) values('David');
mysql> insert into DemoTable values('Bob','AUS');
Hiển thị tất cả bản ghi từ bảng:
mysql> select * from DemoTable;
Kết quả:
+-------+-------------+ | Name | CountryName | +-------+-------------+ | Chris | US | | Mike | NULL | | David | NULL | | Bob | AUS | +-------+-------------+
Truy vấn so sánh NULL và hiển thị giá trị 1
Sử dụng hàm IF() để kiểm tra IS NULL:
mysql> select Name, CountryName, If(CountryName IS NULL, 1, 0) AS CountDemo from DemoTable;
Kết quả sẽ hiển thị cột mới CountDemo với giá trị 1 cho các bản ghi có CountryName là NULL:
+-------+-------------+-----------+ | Name | CountryName | CountDemo | +-------+-------------+-----------+ | Chris | US | 0 | | Mike | NULL | 1 | | David | NULL | 1 | | Bob | AUS | 0 | +-------+-------------+-----------+
Giải thích: Hàm IF(CountryName IS NULL, 1, 0) kiểm tra từng giá trị trong cột CountryName. Nếu giá trị là NULL, trả về 1; ngược lại trả về 0. Cách này rất hữu ích khi bạn cần đánh dấu hoặc đếm các bản ghi thiếu dữ liệu.