Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hiển thị văn bản tùy chỉnh cho cột rỗng trong MySQL với IF()

Dùng hàm IF(condition, true_value, false_value) để thay thế giá trị rỗng ('') bằng văn bản mặc định khi SELECT.

Ví dụ minh họa

Tạo bảng có giá trị rỗng:

CREATE TABLE DemoTable (FirstName VARCHAR(20));
INSERT INTO DemoTable VALUES ('Chris'), (''), ('David'), ('Bob'), ('');

Hiển thị 'Not Applicable' cho cột rỗng:

SELECT IF(FirstName = '', 'Not Applicable', FirstName) AS Status
FROM DemoTable;

Kết quả

Status
Chris
Not Applicable
David
Bob
Not Applicable

Xử lý cả NULL và rỗng

Nếu cột có thể NULL:

SELECT IF(TRIM(IFNULL(FirstName, '')) = '', 'Not Applicable', FirstName) AS Status
FROM DemoTable;

Hoặc gọn hơn với COALESCE/NULLIF (xem bài 1003075203).

IF() vs CASE WHEN

Đặc điểmIF()CASE WHEN
Số điều kiện1 (true/false)Nhiều (when...then...)
Độ phức tạpĐơn giảnPhức tạp hơn
Chuẩn SQLMySQL proprietaryANSI SQL
Lồng nhauKhó đọcDễ đọc hơn

Khuyên dùng: IF() cho logic nhị phân đơn giản; CASE WHEN cho nhiều nhánh.