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

Nối hai cột khi một cột có giá trị NULL trong MySQL

Để tránh vấn đề khi chạy truy vấn, hãy sử dụng IFNULL(). Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable1793 (
    StudentFirstName VARCHAR(20),
    StudentLastName VARCHAR(20)
    ); Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable1793 VALUES('John','Smith'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1793 VALUES('Carol',NULL); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1793 VALUES(NULL,'Brown'); Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable1793;

Kết quả sẽ như sau:

+------------------+-----------------+
| StudentFirstName | StudentLastName |
+------------------+-----------------+
| John             | Smith           |
| Carol            | NULL            |
| NULL             | Brown           |
+------------------+-----------------+
3 rows in set (0.00 sec)

Dưới đây là truy vấn để nối hai cột khi một trong các cột có giá trị NULL:

mysql> SELECT CONCAT(IFNULL(StudentFirstName,''), IFNULL(StudentLastName,'')) FROM DemoTable1793;

Kết quả sẽ như sau:

+----------------------------------------------------------------+
| CONCAT(IFNULL(StudentFirstName,''), IFNULL(StudentLastName,'')) |
+----------------------------------------------------------------+
| JohnSmith                                                      |
| Carol                                                          |
| Brown                                                          |
+----------------------------------------------------------------+
3 rows in set (0.00 sec)