我們知道,如果任何參數(shù)為 NULL,CONCAT() 函數(shù)就會返回 NULL,但只有第一個參數(shù)(即分隔符)為 NULL 時,CONCAT_WS() 函數(shù)才會返回 NULL,并且它會忽略任何其他 NULL 。當我們想要連接列中的值并且任何列的值為 NULL 時,我們可以說這是 CONCAT_WS() 函數(shù)相對于 CONCAT() 函數(shù)的優(yōu)勢。為了理解它,我們考慮表“Student_name;”中的示例。其中有以下數(shù)據(jù) –
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)
登錄后復制
現(xiàn)在,假設我們想要連接 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() 函數(shù),那么它將忽略 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() 函數(shù)相對于 CONCAT() 函數(shù)有什么優(yōu)勢?的詳細內(nèi)容,更多請關注www.92cms.cn其它相關文章!