亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Mysql查詢(xún)?nèi)タ崭竦亩喾N方法匯總

瀏覽:92日期:2023-05-05 10:12:06
目錄
  • 一、背景
  • 二、方法
    • 1、trim()、ltrim()、rtrim()函數(shù)
      • (1)trim()去除字段首尾空白字符,也可以去除指定字符
      • (2)ltrim()去除左空格
      • (3)rtrim()去除右空格
    • 2、replace()函數(shù)
      • (1)替換字段中指定字符為新字符
      • (2)指定去除一下特殊字符
    • 3、convert()函數(shù)配合trim()函數(shù)(解決了我的問(wèn)題)
    • 補(bǔ)充:你不知道的空格
      • Level1: 半角空格
        • Level2: 全角空格
          • Level3: 不間斷空格 ( non-breaking space )
            • Level4: 零寬度空格 (ZERO WIDTH SPACE)
              • Level5: 其他空格字符空格
              • 總結(jié)

                一、背景

                最近系統(tǒng)線(xiàn)上數(shù)據(jù)庫(kù)數(shù)據(jù)出現(xiàn)一個(gè)問(wèn)題,發(fā)現(xiàn)某些字段存在一些異常的首尾空格,不管是使用trim對(duì)比還是like查詢(xún)都查詢(xún)不到具體的數(shù)據(jù);在網(wǎng)上找了一些方法,最后發(fā)現(xiàn)一個(gè)去“不間斷空格”的方法解決了問(wèn)題,在這里做一下記錄和匯總。

                二、方法

                1、trim()、ltrim()、rtrim()函數(shù)

                語(yǔ)法:trim(字段) || trim([{BOTH | LEADING | TRAILING} [指定字符] FROM] 字段)

                (1)trim()去除字段首尾空白字符,也可以去除指定字符

                列子:去除商品零件號(hào)左右空格,以及指定字符,打印去除字符后的長(zhǎng)度

                select	p.parts_num as "零件號(hào)(包含首尾各3個(gè)空格)",	length(p.parts_num) as "原始長(zhǎng)度",	trim(p.parts_num),	length(trim(p.parts_num)) as "去除左右空格后長(zhǎng)度",	trim(leading "   7" from p.parts_num),	length(trim(leading "   7" from p.parts_num)) as "去除左邊字符后長(zhǎng)度",	trim(trailing "7   " from p.parts_num),	length(trim(trailing "7   " from p.parts_num)) as "去除右邊字符后長(zhǎng)度"from	product pwhere	p.product_id = "1941573845271945216";

                結(jié)果:

                (2)ltrim()去除左空格

                select	p.parts_num as "零件號(hào)(包含首尾各3個(gè)空格)",	length(p.parts_num) as "原始長(zhǎng)度",	ltrim(p.parts_num),	length(ltrim(p.parts_num)) as "去除左空格后長(zhǎng)度"from	product pwhere	p.product_id = "1941573845271945216";

                結(jié)果:

                (3)rtrim()去除右空格

                select	p.parts_num as "零件號(hào)(包含首尾各3個(gè)空格)",	length(p.parts_num) as "原始長(zhǎng)度",	rtrim(p.parts_num),	length(rtrim(p.parts_num)) as "去除右空格后長(zhǎng)度"from	product pwhere	p.product_id = "1941573845271945216";

                結(jié)果:

                2、replace()函數(shù)

                語(yǔ)法:replace(object,search,replace)

                (1)替換字段中指定字符為新字符

                select	p.parts_num as "零件號(hào)(包含首尾各3個(gè)空格)",	length(p.parts_num) as "原始長(zhǎng)度",	replace(p.parts_num, " ", ""),	length(replace(p.parts_num, " ", "")) as "替換空格后長(zhǎng)度",	replace(p.parts_num, "7", "8") as "把7替換成8"from	product pwhere	p.product_id = "1941573845271945216";

                結(jié)果:

                (2)指定去除一下特殊字符

                水平制表符:CHAR(9)、換行符:CHAR(10)、回車(chē)符:CHAR(13)

                REPLACE(REPLACE(REPLACE(p.parts_num, CHAR(9), ""), CHAR(10), ""), CHAR(13), "")

                3、convert()函數(shù)配合trim()函數(shù)(解決了我的問(wèn)題)

                (1)使用convert()先轉(zhuǎn)換一些特殊編碼的空格(unicode碼位u+00a0的utf-8編碼,也稱(chēng)為不間斷空格)轉(zhuǎn)換成常規(guī)空格(ASCII 中編碼為0x20)

                -- convert轉(zhuǎn)換,trim去除select TRIM(convert(0xC2A0 using utf8mb4) FROM p.parts_num); -- 替換掉字符中的不間斷空格select TRIM(REPLACE(p.parts_num, convert(0xC2A0 using utf8mb4), " "));

                這些特殊空格一般常見(jiàn)于各文本編輯器(word、Excel等,剛好出現(xiàn)問(wèn)題的業(yè)務(wù)存在Excel導(dǎo)入數(shù)據(jù)的場(chǎng)景),想要詳細(xì)了解看下面推薦的文章。

                補(bǔ)充:你不知道的空格

                Level1: 半角空格

                歷史最悠久的空格,在1967年,ASCII 規(guī)范中被定義。

                空格在 ASCII 中編碼為0x20, 占位符為一個(gè)半角字符。在日常英文書(shū)寫(xiě)和代碼編寫(xiě)中使用。

                Level2: 全角空格

                中文輸入中的空格(標(biāo)準(zhǔn)說(shuō)法為中日韓表意字符(CJK)中使用的寬空格)。和其他漢字一樣,作為GBK的一個(gè)字符,其對(duì)應(yīng)的unicode碼為\u3000.寬

                度是2個(gè)半角空格的大小。

                例如:

                  先生 孫先生 

                Level3: 不間斷空格 ( non-breaking space )

                unicode 為 \u00A0, 在代碼中可能會(huì)出現(xiàn)的編碼錯(cuò)誤(utf8 編碼0xC2 0xA0) 就是它了。

                在Word中,會(huì)遇到一個(gè)有多個(gè)單詞組成的詞組被分割在兩行文字中,這樣很容易讓人看不明白。這時(shí)候,不間斷空格就可以上場(chǎng)了。

                輸入不間斷空格,會(huì)將不間斷空格連著的單詞在一行展示。

                舉個(gè)例子:

                上面英文使用了不間斷空格,下面沒(méi)有使用。所以上面的英文自動(dòng)在一行展示,而下面沒(méi)有。

                在word中輸入不間斷空格的方式為: (Ctrl + Shift + Space)

                除了在word等文本編輯軟件中使用,其實(shí)不間斷空格在html 中大量使用。  是html 中最為常見(jiàn)的空格。由于html頁(yè)面中,如果有多個(gè)連著的半角空格,則空格只會(huì)展示一個(gè)。而使用  空格,則會(huì)顯示占位半個(gè)自寬。

                Level4: 零寬度空格 (ZERO WIDTH SPACE)

                零寬度空格有兩種

                • 零寬度空格 unicode 編碼為 \u200B.

                不可見(jiàn)非打印字符。有了半角空格,也有了全角空格,其實(shí)還有零寬度空格。因?yàn)閷挾葹榱悖虼嗽撟址且粋€(gè)不可見(jiàn)字符。
                這個(gè)編碼雖然是不可見(jiàn)的,但是也是非常有用的。它可以替換html中的標(biāo)簽(軟換行, html5 新增)。

                • 零寬度非中斷空格(ZWNBSP) unicode 編碼為 \u2060 (之前使用\ufeff表示,unicode 3.2 開(kāi)始 \ufeff 標(biāo)記unicode文檔的字節(jié)序。)
                  該空格結(jié)合了 non-breaking space 和 零寬度空格的特點(diǎn)。既會(huì)自動(dòng)換行,寬度又是0。

                零寬度空格(軟換行)舉例:

                一行連續(xù)的英文編碼:

                <p>phpIsTheBestProgramingLanguageInTheWorld</p>

                而如果在每個(gè)可以換行的地方加上 <wbr />, 則可以在標(biāo)記的最近的地方換行。

                <p>php<wbr />Is<wbr />The<wbr />Best<wbr />Programing<wbr />Language<wbr />In<wbr />The<wbr />World</p>

                Level5: 其他空格字符空格

                雖然已經(jīng)有半角空格、全角空格,但是上面的空格如果字體變化了,不會(huì)隨著字體的變化而變化。

                因此,又有了可以隨著字體的變化而變化的空格,簡(jiǎn)單羅列如下:

                在html 的寬度度量中,有一種單位叫em,是按照字體大小定義的,下面的em也是字體的寬度。

                打印字符的空格有很多種,羅列幾個(gè):

                名稱(chēng)unicode 編碼html 標(biāo)記特征和用途短空格\u2002&ensp;html 中占位半個(gè)字長(zhǎng)空格\u2003&emsp;html 中占位一個(gè)字1/3em空格\u2004&emsp13;占用1/3個(gè)空格1/4em空格\u2005&emsp14;占用1/4個(gè)空格1/6em空格\u2006&emsp14;占用1/6個(gè)空格數(shù)樣間距 (figure space)\u2007&numsp;在等寬字體中,寬度是一個(gè)字符的寬度。行首前導(dǎo)空格 (punctuation space)\u2008&puncsp;寬度約為 0x20 的寬度。瘦弱空格 (thin space)\u2009&thinsp;寬度是 全角打印空格的 1/5 或者 1/6 (寬度不定,法文設(shè)置為1/8), 主要用在打印兩個(gè)空的引號(hào)之間。hair space\u200a&hairsp;(瀏覽器目前不支持), 最窄的空格,推薦標(biāo)準(zhǔn)為 (1/10, 1/16)narrow no-break space\u202f&nnbsp;和0a 類(lèi)似,不同語(yǔ)種中不太一樣。medium mathematical space\u205f&mediumspace;在格式化數(shù)學(xué)公式時(shí)使用。是 4/18 的 em寬度,例如:"a + b"中,a 和+ 之間應(yīng)該用 這個(gè)空格

                總結(jié)

                到此這篇關(guān)于Mysql查詢(xún)?nèi)タ崭竦奈恼戮徒榻B到這了,更多相關(guān)Mysql查詢(xún)?nèi)タ崭駜?nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

                標(biāo)簽: MySQL
                主站蜘蛛池模板: 亚洲精品一区二区三区在线播放 | 国产午夜精品一区二区三区嫩草 | 国产影片中文字幕 | 国内精品久久久久 | 成人h视频在线观看 | 91天天操 | 国产女同磨豆腐视频在线观看 | 国产一精品一av一免费爽爽 | 国产亚洲欧美另类一区二区三区 | 亚洲这里只有精品 | 久久综合久久综合久久综合 | a国产| 中文字幕亚洲综合久久2 | 日本黄色一级片视频 | 亚洲精品国产第一综合99久久 | 欧美一区二区三区久久综 | a毛片久久免费观看 | 国产精品jlzz视频 | 黄网站免费视频 | 黄色毛片免费 | 伊人2222| 成人自拍网 | 日韩一区二区三区精品 | ak福利午夜在线观看 | 国产不卡a | 欧美国产综合视频在线观看 | 日产国产精品久久久久久 | 久久精品国产99国产 | 国产视频网 | 久久91综合国产91久久精品 | 特黄aaaaaaaaa及毛片 | 国产91久久最新观看地址 | 亚洲国产精品久久久久 | 亚洲欧洲日产v特级毛片 | 国产日韩欧美三级 | 亚洲国产人成在线观看 | 国内精品视频一区二区三区八戒 | 一级毛片黄色片 | 久草久热| 三级网站 | 亚洲午夜网 |