CONCAT() trả về NULL nếu bất kỳ đối số nào NULL. CONCAT_WS() chỉ NULL khi separator (đối số 1) là NULL, các NULL khác bị bỏ qua.
Bảng Student_Name có NULL:
mysql> SELECT * FROM Student_Name; +---------+-------+---------+ | FName | Mname | Lname | +---------+-------+---------+ | Rahul | NULL | Singh | | Gaurav | Kumar | NULL | | Harshit | NULL | Khurana | | Yash | Pal | Sharma | +---------+-------+---------+
Dùng CONCAT():
mysql> SELECT CONCAT(Fname,Mname,Lname) AS Name FROM Student_Name; +---------------+ | Name | +---------------+ | NULL | | NULL | | NULL | | YashPalSharma | +---------------+
Chỉ dòng 4 không có NULL → có kết quả. 3 dòng đầu bị NULL.
Dùng CONCAT_WS(' ', ...):
mysql> SELECT CONCAT_WS(' ',Fname,Mname,Lname) AS Name FROM student_name;
+-----------------+
| Name |
+-----------------+
| Rahul Singh |
| Gaurav Kumar |
| Harshit Khurana |
| Yash Pal Sharma |
+-----------------+
Tất cả 4 dòng đều có kết quả, NULL bị bỏ qua, nối bằng dấu cách. Đây là ưu điểm lớn khi xử lý dữ liệu thực tế thường có NULL.