麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

MySQL 字符串截取相關函數小結

2024-07-25 19:08:16
字體:
來源:轉載
供稿:網友

文中給大家介紹MySQL 字符串截取相關函數,具體內容如下所示:

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

一、left(str, len)

返回字符串 str 自左數的 len 個字符。如果任一參數為 NULL,則返回 NULL。

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

二、right(str, len)

返回 str 右邊末 len 位的字符。如果有的參數是 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 次出現的分隔符 delim 之前的子字符串。如果 count 為正數,將最后一個分隔符左邊(因為是從左數分隔符)的所有內容作為子字符串返回;如果 count 為負值,返回最后一個分隔符右邊(因為是從右數分隔符)的所有內容作為子字符串返回。在尋找分隔符時,函數對大小寫是敏感的。如果在字符串 str 中找不到 delim 參數指定的值,就返回整個字符串。

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種函數變種形式中,沒有 len 參數的函數形式會返回自 str 中位置 pos 處之后的子字符串;有 len 參數的函數形式會返回自 str 中位置 pos 處之后,長度為 len 的子字符串。使用 FROM 的函數形式則是采用的標準的 SQL 語法。pos 參數也可能取負值,在這種情況下,取字符串的方式是從字符串 str 的末尾向前(而非從前往后),從這種逆向順序的 pos 處開始取字符串。另外,負值的 pos 參數可用于任何形式的 substring() 函數中。

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 所指定的前綴或后綴,返回結果字符串。如果沒有指定標識符both、leading,或trailing,則默認采用 both,即將前后綴都刪除。remstr 其實是個可選參數,如果沒有指定它,則刪除的是空格。

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)

總結

以上所述是小編給大家介紹的MySQL 字符串截取相關函數小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一区二区久久久久草草 | 久久亚洲国产午夜精品理论片 | 成人在线免费看 | av电影免费播放 | 欧美日韩中文字幕在线视频 | 欧美成年私人网站 | 羞羞的视频在线免费观看 | 91九色免费视频 | 黄色高清av| 一级看片免费视频 | 中国成人在线视频 | 国产在线欧美日韩 | 久久97超碰 | av在线免费观看网 | av在线播放网址 | 精品1 | 欧美一级做性受免费大片免费 | 久久精品视频69 | 欧美一级免费在线观看 | 精品中文字幕在线播放 | 99seav| 国产亚洲精品久久午夜玫瑰园 | 美女扒开腿让男生桶爽网站 | 爱射av| 国产一区日韩一区 | 婷婷久久青草热一区二区 | 国产精品九九久久一区hh | 九九夜夜| 性欧美极品xxxx欧美一区二区 | 美女毛片儿 | 久色婷婷| 色日本视频| 免费看日韩片 | 成年人观看免费视频 | 黄色的视频免费观看 | 久久综合久久精品 | 成人性视频在线 | 成人午夜影院 | 91精品视频在线看 | 欧美熟videos肥婆 | 亚洲第一页中文字幕 |