电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:110日期: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ù)(解決了我的問題)
    • 補充:你不知道的空格
      • Level1: 半角空格
        • Level2: 全角空格
          • Level3: 不間斷空格 ( non-breaking space )
            • Level4: 零寬度空格 (ZERO WIDTH SPACE)
              • Level5: 其他空格字符空格
              • 總結(jié)

                一、背景

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

                二、方法

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

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

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

                列子:去除商品零件號左右空格,以及指定字符,打印去除字符后的長度

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

                結(jié)果:

                (2)ltrim()去除左空格

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

                結(jié)果:

                (3)rtrim()去除右空格

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

                結(jié)果:

                2、replace()函數(shù)

                語法:replace(object,search,replace)

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

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

                結(jié)果:

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

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

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

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

                (1)使用convert()先轉(zhuǎn)換一些特殊編碼的空格(unicode碼位u+00a0的utf-8編碼,也稱為不間斷空格)轉(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), " "));

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

                補充:你不知道的空格

                Level1: 半角空格

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

                空格在 ASCII 中編碼為0x20, 占位符為一個半角字符。在日常英文書寫和代碼編寫中使用。

                Level2: 全角空格

                中文輸入中的空格(標準說法為中日韓表意字符(CJK)中使用的寬空格)。和其他漢字一樣,作為GBK的一個字符,其對應的unicode碼為\u3000.寬

                度是2個半角空格的大小。

                例如:

                  先生 孫先生 

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

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

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

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

                舉個例子:

                上面英文使用了不間斷空格,下面沒有使用。所以上面的英文自動在一行展示,而下面沒有。

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

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

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

                零寬度空格有兩種

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

                不可見非打印字符。有了半角空格,也有了全角空格,其實還有零寬度空格。因為寬度為零,因此該字符是一個不可見字符。
                這個編碼雖然是不可見的,但是也是非常有用的。它可以替換html中的標簽(軟換行, html5 新增)。

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

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

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

                <p>phpIsTheBestProgramingLanguageInTheWorld</p>

                而如果在每個可以換行的地方加上 <wbr />, 則可以在標記的最近的地方換行。

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

                Level5: 其他空格字符空格

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

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

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

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

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

                總結(jié)

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

                標簽: MySQL
                主站蜘蛛池模板: 宝宝药浴-产后药浴-药浴加盟-艾裕-专注母婴调养泡浴 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 | PCB设计,PCB抄板,电路板打样,PCBA加工-深圳市宏力捷电子有限公司 | 雷达液位计_超声波风速风向仪_雨量传感器_辐射传感器-山东风途物联网 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 南京泽朗生物科技有限公司| 【连江县榕彩涂料有限公司】官方网站 | 中药超微粉碎机(中药细胞级微粉碎)-百科 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 导电银胶_LED封装导电银胶_半导体封装导电胶厂家-上海腾烁 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 万濠投影仪_瑞士TRIMOS高度仪_尼康投影仪V12BDC|量子仪器 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | 密封无忧网 _ 专业的密封产品行业信息网| 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 油缸定制-液压油缸厂家-无锡大鸿液压气动成套有限公司 | 工业设计,人工智能,体验式3D展示的智能技术交流服务平台-纳金网 J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 重庆轻质隔墙板-重庆安吉升科技有限公司 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 |