Hàm IF(điều_kiện, giá_trị_true, giá_trị_false) cho phép kiểm tra NULL và trả về giá trị/thông báo tùy ý.
Ví dụ
Tạo bảng có cột Age chứa NULL:
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name varchar(200),
Age int
);
Query OK, 0 rows affected (0.44 sec)Dữ liệu: John(23), Sam(NULL), Mike(23), David(21), Carol(NULL)
Kiểm tra NULL hiển thị thông báo
mysql> select if(Age IS NULL,'Age is missing',Age) from DemoTable;
+--------------------------------------+ | if(Age IS NULL,'Age is missing',Age) | +--------------------------------------+ | 23 | | Age is missing | | 23 | | 21 | | Age is missing | +--------------------------------------+
So sánh:
IF(Age IS NULL, ...)- kiểm tra NULLIFNULL(Age, 'Age is missing')- ngắn gọn hơn, tương đươngCOALESCE(Age, 'Age is missing')- chuẩn ANSI, hỗ trợ nhiều đối số
Lưu ý: Age = NULL luôn FALSE (không dùng được). Phải dùng IS NULL hoặc IS NOT NULL.