上述屬性沒有什麼用處,特別是當我們想要連接列中的值並且任何列的值為 NULL 時。為了克服這個問題,我們可以使用 IFNULL() 函數和 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() 函數的屬性是,如果任何參數為NULL,它就會回傳NULL。我們可以藉助 IFNULL() 函式克服此屬性,如下列查詢所示 -
mysql> Select CONCAT(IFNULL(Fname,''),IFNULL(Mname,''),IFNULL(Lname,''))AS Name from Student_Name; +----------------+ | Name | +----------------+ | RahulSingh | | GauravKumar | | HarshitKhurana | | YashPalSharma | +----------------+ 4 rows in set (0.06 sec)
以上是我們如何克服 CONCAT() 函數的屬性,即如果任何一個參數為 NULL,它就會傳回 NULL,特別是當我們想要連接列中的值並且任何列的值都是 NULL 時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!