首頁 > 資料庫 > mysql教程 > MySQL中CONCAT()函式拼接出現NULL問題如何解決

MySQL中CONCAT()函式拼接出現NULL問題如何解決

WBOY
發布: 2023-06-01 23:29:02
轉載
3804 人瀏覽過

專案中查詢用到了concat()拼接函數,在此查詢中出現了拼接的欄位為null的情況,拼接結果為null在應用層報告了空指標異常。

SELECT CONCAT('1,',NULL,'2') result;
登入後複製

MySQL中CONCAT()函式拼接出現NULL問題如何解決

SELECT CONCAT('1,','','2') result;
登入後複製

MySQL中CONCAT()函式拼接出現NULL問題如何解決

透過實作證明CONCAT()函數拼接時如果拼接的參數有NULL時,則結果為NULL。

使用以下方式來解決

方法一:使用IFNULL函數如果是NULL將其置為''空字串。

SELECT CONCAT('1,',IFNULL(NULL,''),'2') result;
登入後複製

MySQL中CONCAT()函式拼接出現NULL問題如何解決

方法二:使用CONCAT_WS函數。指定有分隔符號的字串連接 

SELECT CONCAT_WS(',','1',NULL,'2') result;
登入後複製

指定使用逗號進行分隔

MySQL中CONCAT()函式拼接出現NULL問題如何解決

#CONCAT_WS(分隔符,參數1,參數2,. ..參數n)與CONCAT(參數1,參數2,...參數n)

兩個函數的差異:

CONCAT_WS() :表示concat with separator,即有分隔符號的字串連接 

CONCAT():表示將字串進行連接

兩個最重要的區別就是,CONCAT()函數,拼接參數中存在NULL直接回傳NULL

而CONCAT_WS()函數在執行的時候,不會因為NULL值而回傳NULL

以上是MySQL中CONCAT()函式拼接出現NULL問題如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板