Khi dữ liệu có chứa chuỗi rỗng ('') thay vì NULL, bạn có thể dùng hàm IF() để thay thế khi truy vấn.
Tạo bảng và chèn dữ liệu
mysql> CREATE TABLE DemoTable837(Name VARCHAR(100));
Query OK, 0 rows affected (0.53 sec)
mysql> INSERT INTO DemoTable837 VALUES('Chris');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable837 VALUES('');
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable837 VALUES('Robert');
Query OK, 1 row affected (0.08 sec)
mysql> INSERT INTO DemoTable837 VALUES('');
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DemoTable837 VALUES('David');
Query OK, 1 row affected (1.13 sec)
Dữ liệu gốc
mysql> SELECT * FROM DemoTable837;
+--------+ | Name | +--------+ | Chris | | | | Robert | | | | David | +--------+ 5 rows in set (0.00 sec)
Thay thế chuỗi rỗng bằng 'Adam'
mysql> SELECT IF(Name = '', 'Adam', Name) FROM DemoTable837;
Kết quả:
+--------------------------+ | IF(Name='', 'Adam',Name) | +--------------------------+ | Chris | | Adam | | Robert | | Adam | | David | +--------------------------+ 5 rows in set (0.00 sec)
Lưu ý: Câu lệnh này chỉ thay thế khi hiển thị, không cập nhật dữ liệu thực trong bảng. Để cập nhật vĩnh viễn, dùng UPDATE DemoTable837 SET Name = 'Adam' WHERE Name = '';