溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決

發(fā)布時(shí)間:2023-03-30 11:14:35 來源:億速云 閱讀:115 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

項(xiàng)目中查詢用到了concat()拼接函數(shù),在此查詢中出現(xiàn)了拼接的字段為null的情況,拼接結(jié)果為null在應(yīng)用層報(bào)了空指針異常。

SELECT CONCAT('1,',NULL,'2') result;

MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決

SELECT CONCAT('1,','','2') result;

MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決

通過實(shí)踐證明CONCAT()函數(shù)拼接時(shí)如果拼接的參數(shù)中有NULL時(shí),結(jié)果為NULL。

使用以下方式來解決

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

SELECT CONCAT('1,',IFNULL(NULL,''),'2') result;

MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決

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

SELECT CONCAT_WS(',','1',NULL,'2') result;

指定使用逗號(hào)進(jìn)行分隔

MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決

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

兩個(gè)函數(shù)的區(qū)別:

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

CONCAT():表示將字符串進(jìn)行連接

兩個(gè)最重要的區(qū)別就是,CONCAT()函數(shù),拼接參數(shù)中存在NULL直接返回NULL

而CONCAT_WS()函數(shù)在執(zhí)行的時(shí)候,不會(huì)因?yàn)镹ULL值而返回NULL

讀到這里,這篇“MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL問題如何解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI