最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql中CONCAT()函數(shù)結(jié)果為null的問題解決

 更新時(shí)間:2025年09月07日 10:01:10   作者:花花無缺  
本文主要介紹了因SQL中的CONCAT()函數(shù)導(dǎo)致的數(shù)據(jù)漏查問題,下面就拉具體介紹一下問題的原因及解決方法,感興趣的可以了解一下

背景 :發(fā)現(xiàn)數(shù)據(jù)漏更新,排查時(shí)候看代碼一直沒問題,因?yàn)榭吹皆诖a里用了 Optional.ofNullable(value).orElse(''),不該漏掉,后來發(fā)現(xiàn)在sql里面查詢的時(shí)候不是用的代碼里已拼好的字符串,而是用concat()又拼了一遍,所以其中任一字符串為null的數(shù)據(jù)都沒查到。

SQL 中使用 CONCAT(str1, str2) 時(shí),如果 str1str2NULL 或空串('')會(huì)發(fā)生什么

1、SQL 中CONCAT()函數(shù)的行為(以 MySQL 為例)

規(guī)則總結(jié):

情況結(jié)果說明
CONCAT('hello', 'world')'helloworld'正常拼接
CONCAT('hello', '')'hello'空串不影響
CONCAT('hello', NULL)NULL只要有一個(gè)是 NULL,結(jié)果就是 NULL ?
CONCAT(NULL, 'world')NULL同上
CONCAT(NULL, NULL)NULL同上

?? 在標(biāo)準(zhǔn) SQL 和 MySQL 中,CONCAT(NULL, ...) 的結(jié)果是 NULL。

2、CONCAT()的其他相關(guān)使用場(chǎng)景

  • 模糊查詢
CONCAT('%', #{device}, '%')
  • 路徑匹配
--判斷某個(gè)字段是否“以 `prefix` 開頭,并且 `prefix` 后面是 `/` 或字符串結(jié)尾
REGEXP CONCAT('^', #{prefix}, '(/|$)')

3、如何避免出現(xiàn)null,導(dǎo)致漏查漏改數(shù)據(jù)

-- 1.使用 COALESCE:將 NULL 轉(zhuǎn)為空串
SELECT CONCAT(COALESCE(str1, ''), COALESCE(str2, '')) AS result
FROM your_table;

-- 2.使用 IFNULL:將 NULL 轉(zhuǎn)為空串
SELECT CONCAT(IFNULL(str1, ''), IFNULL(str2, '')) AS result
FROM your_table;

-- 3.使用`CONCAT_WS(separator, str1, str2, ...)` 表示“用分隔符拼接字符串”,會(huì)自動(dòng)跳過 NULL 值。
SELECT CONCAT_WS('', 'hello', NULL, 'world') AS result; -- 'helloworld'

到此這篇關(guān)于mysql中CONCAT()函數(shù)結(jié)果為null的問題解決的文章就介紹到這了,更多相關(guān)mysql中CONCAT()結(jié)果為null內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • MySQL?驅(qū)動(dòng)中虛引用?GC?耗時(shí)優(yōu)化與源碼分析

    MySQL?驅(qū)動(dòng)中虛引用?GC?耗時(shí)優(yōu)化與源碼分析

    這篇文章主要為大家介紹了MySQL?驅(qū)動(dòng)中虛引用?GC?耗時(shí)優(yōu)化與源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實(shí)現(xiàn)

    教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • mysql中合并兩個(gè)字段的方法分享

    mysql中合并兩個(gè)字段的方法分享

    mysql中怎么合并兩個(gè)字段為一個(gè)字段呢?試了好多方法,結(jié)果還是不是我想要的
    2012-08-08
  • MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼

    MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼

    這篇文章主要介紹了MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼,文中給大家提到了MySQL創(chuàng)建表時(shí)字符串的默認(rèn)值,本文給大家講解的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 深入淺析MySQL?Explain

    深入淺析MySQL?Explain

    這篇文章主要介紹了MySQL?Explain詳解,expain出來的信息有10列,分別是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra,本文對(duì)每一字段進(jìn)行逐一解釋,需要的朋友可以參考下
    2022-07-07
  • Mysql主從復(fù)制與讀寫分離圖文詳解

    Mysql主從復(fù)制與讀寫分離圖文詳解

    這篇文章主要給大家介紹了關(guān)于Mysql主從復(fù)制與讀寫分離的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Mysql多主一從數(shù)據(jù)備份的方法教程

    Mysql多主一從數(shù)據(jù)備份的方法教程

    這篇文章主要給大家介紹了關(guān)于Mysql多主一從數(shù)據(jù)備份的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2018-12-12
  • 在IDEA的maven項(xiàng)目中連接并使用MySQL8.0的方法教程

    在IDEA的maven項(xiàng)目中連接并使用MySQL8.0的方法教程

    這篇文章主要介紹了如何在IDEA的maven項(xiàng)目中連接并使用MySQL8.0,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • MySQL中關(guān)于datetime、date、time、str之間的轉(zhuǎn)化與比較

    MySQL中關(guān)于datetime、date、time、str之間的轉(zhuǎn)化與比較

    這篇文章主要介紹了MySQL中關(guān)于datetime、date、time、str之間的轉(zhuǎn)化與比較,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 一文詳細(xì)分析MySQL中的Text類型

    一文詳細(xì)分析MySQL中的Text類型

    這篇文章主要介紹了MySQL?TEXT類型特點(diǎn)、適用場(chǎng)景及使用注意事項(xiàng)的相關(guān)資料,TEXT類型是一種特殊的字符串類型,包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-05-05

最新評(píng)論

奎屯市| 手机| 北碚区| 仁布县| 确山县| 托克逊县| 朝阳区| 泰安市| 高平市| 建水县| 棋牌| 博罗县| 金塔县| 九江县| 韩城市| 彩票| 嫩江县| 资兴市| 合水县| 澳门| 东阳市| 醴陵市| 达州市| 故城县| 广昌县| 潮安县| 方城县| 鄂州市| 麻城市| 井冈山市| 乐平市| 霍山县| 徐汇区| 彰武县| 临海市| 长乐市| 松江区| 米泉市| 姚安县| 沙坪坝区| 渑池县|