Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

열의 값을 연결하려고 하고 열 중 하나의 값이 NULL인 경우 CONCAT() 함수보다 CONCAT_WS() 함수의 장점은 무엇입니까?


CONCAT() 함수는 인수 중 하나라도 NULL이면 NULL을 반환하지만 CONCAT_WS() 함수는 첫 번째 인수, 즉 구분 기호가 NULL이고 다른 인수를 무시하는 경우에만 NULL을 반환한다는 것을 알고 있습니다. 없는. 열의 값을 연결하고 열의 값이 NULL인 경우 이것이 CONCAT() 함수보다 CONCAT_WS() 함수의 장점이라고 말할 수 있습니다. 그것을 이해하기 위해 'Student_name; 다음 데이터가 있는 것 -

mysql> Select * from Student_Name;
+---------+-------+---------+
| FName   | Mname | Lname   |
+---------+-------+---------+
| Rahul   | NULL  | Singh   |
| Gaurav  | Kumar | NULL    |
| Harshit | NULL  | Khurana |
| Yash    | Pal   | Sharma  |
+---------+-------+---------+
4 rows in set (0.00 sec)

이제 Fname, Mname 및 Lname 열의 값을 연결하려는 경우 다음과 같은 결과가 출력된다고 가정합니다. -

mysql> Select CONCAT(Fname,Mname,Lname)AS Name from Student_Name;
+---------------+
| Name          |
+---------------+
| NULL          |
| NULL          |
| NULL          |
| YashPalSharma |
+---------------+
4 rows in set (0.00 sec)

하지만 CONCAT_WS() 함수를 사용하면 다음 쿼리에서와 같이 NULL을 무시합니다 -

mysql> Select CONCAT_WS(' ',Fname,Mname,Lname)AS Name from student_name;
+-----------------+
| Name            |
+-----------------+
| Rahul Singh     |
| Gaurav Kumar    |
| Harshit Khurana |
| Yash Pal Sharma |
+-----------------+
4 rows in set (0.00 sec)