首頁  >  文章  >  資料庫  >  當我們想要連接列中的值且任何列的值為 NULL 時,CONCAT_WS() 函數相對於 CONCAT() 函數有何優點?

當我們想要連接列中的值且任何列的值為 NULL 時,CONCAT_WS() 函數相對於 CONCAT() 函數有何優點?

PHPz
PHPz轉載
2023-09-05 16:57:13927瀏覽

当我们想要连接列中的值并且任何列的值为 NULL 时,CONCAT_WS() 函数相对于 CONCAT() 函数有什么优势?

我們知道,如果任何參數為NULL,CONCAT() 函數就會傳回NULL,但只有第一個參數(即分隔符號)為NULL 時,CONCAT_WS( ) 函數才會傳回NULL,而且它會忽略任何其他NULL 。當我們想要連接列中的值且任何列的值為 NULL 時,我們可以說這是 CONCAT_WS() 函數相對於 CONCAT() 函數的優點。為了理解它,我們考慮表格「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)

以上是當我們想要連接列中的值且任何列的值為 NULL 時,CONCAT_WS() 函數相對於 CONCAT() 函數有何優點?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除