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

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

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

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

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

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

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

情況結(jié)果說明
CONCAT('hello', 'world')'helloworld'正常拼接
CONCAT('hello', '')'hello'空串不影響
CONCAT('hello', NULL)NULL只要有一個是 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)使用場景

  • 模糊查詢
CONCAT('%', #{device}, '%')
  • 路徑匹配
--判斷某個字段是否“以 `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, ...)` 表示“用分隔符拼接字符串”,會自動跳過 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

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

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

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

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

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

    mysql中合并兩個字段的方法分享

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

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

    這篇文章主要介紹了MySQL建表設(shè)置默認(rèn)值/取值范圍的操作代碼,文中給大家提到了MySQL創(chuàng)建表時字符串的默認(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,本文對每一字段進(jìn)行逐一解釋,需要的朋友可以參考下
    2022-07-07
  • Mysql主從復(fù)制與讀寫分離圖文詳解

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

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

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

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

    在IDEA的maven項目中連接并使用MySQL8.0的方法教程

    這篇文章主要介紹了如何在IDEA的maven項目中連接并使用MySQL8.0,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    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)化與比較,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 一文詳細(xì)分析MySQL中的Text類型

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

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

最新評論

揭西县| 伊通| 东光县| 镇安县| 巫溪县| 蒙城县| 财经| 麟游县| 永靖县| 岐山县| 凯里市| 茶陵县| 辽源市| 共和县| 随州市| 兴安盟| 旬邑县| 如皋市| 崇明县| 荔浦县| 合川市| 泗洪县| 弋阳县| 怀化市| 宁德市| 保山市| 灌云县| 阳东县| 通州区| 沈丘县| 富阳市| 林州市| 科尔| 西平县| 镇远县| 南陵县| 渝中区| 包头市| 永丰县| 靖边县| 平原县|