佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > MySQL 字符串截取相關(guān)函數(shù)小結(jié)

MySQL 字符串截取相關(guān)函數(shù)小結(jié)

熱門標(biāo)簽:鐵路電話系統(tǒng) 服務(wù)外包 AI電銷 Linux服務(wù)器 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 呼叫中心市場(chǎng)需求

文中給大家介紹MySQL 字符串截取相關(guān)函數(shù),具體內(nèi)容如下所示:

在工作中,可能需要將某些字段按某個(gè)分割符組成一個(gè)字符串作為字段值存取到數(shù)據(jù)庫表中,比如某個(gè)任務(wù)對(duì)應(yīng)三個(gè)結(jié)果,分別存儲(chǔ)在不同的數(shù)據(jù)表中,這時(shí)可以將這三個(gè)不同表的主鍵按照約定的順序進(jìn)行組合(主鍵a:主鍵b:主鍵c)。當(dāng)需要分別去查任務(wù)對(duì)應(yīng)類別的詳情信息時(shí),可以截取特定位置的字符串(主鍵b) join 表b進(jìn)行操作。正好最近也遇到這塊操作,特意將 MySQL 字符串截取的相關(guān)函數(shù)做一個(gè)梳理,以便今后回顧。

一、left(str, len)

返回字符串 str 自左數(shù)的 len 個(gè)字符。如果任一參數(shù)為 NULL,則返回 NULL。

mysql> select left('shinejaie', 5);
+---------------------------------------------------------+
| left('shinejaie', 5)                  |
+---------------------------------------------------------+
| shine                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)

二、right(str, len)

返回 str 右邊末 len 位的字符。如果有的參數(shù)是 NULL 值,則返回 NULL。

mysql> select right('shinejaie', 4);
+---------------------------------------------------------+
| right('shinejaie', 4)                  |
+---------------------------------------------------------+
| jaie                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)

三、substring_index(str, delim, count)

返回 str 中第 count 次出現(xiàn)的分隔符 delim 之前的子字符串。如果 count 為正數(shù),將最后一個(gè)分隔符左邊(因?yàn)槭菑淖髷?shù)分隔符)的所有內(nèi)容作為子字符串返回;如果 count 為負(fù)值,返回最后一個(gè)分隔符右邊(因?yàn)槭菑挠覕?shù)分隔符)的所有內(nèi)容作為子字符串返回。在尋找分隔符時(shí),函數(shù)對(duì)大小寫是敏感的。如果在字符串 str 中找不到 delim 參數(shù)指定的值,就返回整個(gè)字符串。

mysql> select substring_index('home.cnblogs.com', '.', 2);
+---------------------------------------------------------+
| substring_index('home.cnblogs.com', '.', 2)       |
+---------------------------------------------------------+
| home.cnblogs                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select substring_index('home.cnblogs.com', '/', 2);
+---------------------------------------------------------+
| substring_index('home.cnblogs.com', '/', 2)       |
+---------------------------------------------------------+
| home.cnblogs.com                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)

四、substring() 與 substr() ---> substring(str, pos)、substring(str from pos)、substring(str, pos, len)、substring(str from pos for len)

在以上4種函數(shù)變種形式中,沒有 len 參數(shù)的函數(shù)形式會(huì)返回自 str 中位置 pos 處之后的子字符串;有 len 參數(shù)的函數(shù)形式會(huì)返回自 str 中位置 pos 處之后,長(zhǎng)度為 len 的子字符串。使用 FROM 的函數(shù)形式則是采用的標(biāo)準(zhǔn)的 SQL 語法。pos 參數(shù)也可能取負(fù)值,在這種情況下,取字符串的方式是從字符串 str 的末尾向前(而非從前往后),從這種逆向順序的 pos 處開始取字符串。另外,負(fù)值的 pos 參數(shù)可用于任何形式的 substring() 函數(shù)中。

mysql> select substring('shinejaie', 6);
+---------------------------------------------------------+
| substring('shinejaie',6)                |
+---------------------------------------------------------+
| jaie                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select substr('shinejaie' from 6);
+---------------------------------------------------------+
| substr('shinejaie' from 6)               |
+---------------------------------------------------------+
| jaie                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select substring('shinejaie', -9, 5);
+---------------------------------------------------------+
| substring('shinejaie', -9, 5)              |
+---------------------------------------------------------+
| shine                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)

五、trim([{both | leading | trailing} [remstr] form] str)

將字符串 str去除 remstr 所指定的前綴或后綴,返回結(jié)果字符串。如果沒有指定標(biāo)識(shí)符both、leading,或trailing,則默認(rèn)采用 both,即將前后綴都刪除。remstr 其實(shí)是個(gè)可選參數(shù),如果沒有指定它,則刪除的是空格。

mysql> select trim(' shinejaie  ');
+---------------------------------------------------------+
| trim(' shinejaie  ')                 |
+---------------------------------------------------------+
| shinejaie                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select trim(leading 'cn_' from 'cn_shinejaiecn_');
+---------------------------------------------------------+
| trim(leading 'cn_' from 'cn_shinejaiecn_')       |
+---------------------------------------------------------+
| shinejaiecn_                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select trim(both 'cn_' from 'cn_shinejaiecn_');
+---------------------------------------------------------+
| trim(both 'cn_' from 'cn_shinejaiecn_')         |
+---------------------------------------------------------+
| shinejaie                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select trim(trailing 'cn_' from 'cn_shinejaiecn_');
+---------------------------------------------------------+
| trim(trailing 'cn_' from 'cn_shinejaiecn_')       |
+---------------------------------------------------------+
| cn_shinejaie                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

總結(jié)

以上所述是小編給大家介紹的MySQL 字符串截取相關(guān)函數(shù)小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Mysql字符串截取函數(shù)SUBSTRING的用法說明
  • MySql用DATE_FORMAT截取DateTime字段的日期值
  • MySQL截取和拆分字符串函數(shù)用法示例
  • Mysql字符串截取及獲取指定字符串中的數(shù)據(jù)
  • mysql截取的字符串函數(shù)substring_index的用法
  • mysql 截取指定的兩個(gè)字符串之間的內(nèi)容
  • MySQL 截取字符串函數(shù)的sql語句
  • mysql截取函數(shù)常用方法使用說明
  • mysql中循環(huán)截取用戶信息并插入到目標(biāo)表對(duì)應(yīng)的字段中
  • MySQL查詢截取的深入分析

標(biāo)簽:衡水 仙桃 湖南 銅川 蘭州 湘潭 崇左 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL 字符串截取相關(guān)函數(shù)小結(jié)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    巴彦淖尔市| 五华县| 分宜县| 咸阳市| 额敏县| 南宫市| 调兵山市| 石嘴山市| 黎城县| 琼海市| 萍乡市| 甘孜| 增城市| 辽宁省| 凤冈县| 抚远县| 罗源县| 靖西县| 呈贡县| 黄冈市| 安仁县| 牟定县| 新河县| 长治县| 天津市| 科技| 平安县| 绥中县| 北京市| 绥德县| 定结县| 卢氏县| 巴楚县| 南乐县| 襄垣县| 武鸣县| 丰原市| 石景山区| 瑞安市| 静安区| 乌拉特前旗|