欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

盤點日常MySQL字符串截取相關函數匯總及源碼

2018-04-10 14:00:45 1300瀏覽

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



一、left(str,len)

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

mysql>selectleft('codingke.com',5);
+---------------------------------------------------------+
|left('codingke.com',5)|
+---------------------------------------------------------+
|codin|
+---------------------------------------------------------+
rowinset(0.00sec)

二、right(str,len)

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

mysql>selectright('codingke.com',4);
+---------------------------------------------------------+
|right('codingke.com',4)|
+---------------------------------------------------------+
|.com|
+---------------------------------------------------------+
rowinset(0.00sec)

三、substring_index(str,delim,count)

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

mysql>selectsubstring_index('m.dionly.net.cn','.',2);
+---------------------------------------------------------+
|substring_index('m.dionly.net.cn','.',2)|
+---------------------------------------------------------+
|www.codingke|
+---------------------------------------------------------+
1rowinset(0.00sec)
mysql>selectsubstring_index('m.dionly.net.cn','/',2);
+---------------------------------------------------------+
|substring_index('m.dionly.net.cn','/',2)|
+---------------------------------------------------------+
|m.dionly.net.cn|
+---------------------------------------------------------+
rowinset(0.00sec)

四、substring()與substr()

substring(str,pos)、substring(strfrompos)、substring(str,pos,len)、substring(strfromposforlen)比較

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


  mysql>selectsubstring('codingke.com',6);
  +---------------------------------------------------------+
  |substring('codingke.com',6)|
  +---------------------------------------------------------+
  |ngke.com|
  +---------------------------------------------------------+
  rowinset(0.00sec)
  mysql>selectsubstr('codingke.com'from6);
  +---------------------------------------------------------+
  |substr('codingke.com'from6)|
  +---------------------------------------------------------+
  |ngke.com|
  +---------------------------------------------------------+
  rowinset(0.00sec)
  mysql>selectsubstring('codingke.com',-10,4);
  +---------------------------------------------------------+
  |substring('codingke.com',-10,4)|
  +---------------------------------------------------------+
  |hont|
  +---------------------------------------------------------+


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

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

  mysql>selecttrim('codingke.com');
  +---------------------------------------------------------+
  |trim('codingke.com')|
  +---------------------------------------------------------+
  |codingke.com|
  +---------------------------------------------------------+
  rowinset(0.00sec)
  mysql>selecttrim(leading'www.'from'm.dionly.net.cn');
  +---------------------------------------------------------+
  |trim(leading'www.'from'm.dionly.net.cn')|
  +---------------------------------------------------------+
  |pythontab.com|
  +---------------------------------------------------------+
  rowinset(0.00sec)
  mysql>selecttrim(both'www.'from'm.dionly.net.cn');
  +---------------------------------------------------------+
  |trim(both'www.'from'm.dionly.net.cn')|
  +---------------------------------------------------------+
  |codingke.com|
  +---------------------------------------------------------+
  rowinset(0.00sec)
  mysql>selecttrim(trailing'www.'from'm.dionly.net.cn');
  +---------------------------------------------------------+
  |trim(trailing'www.'from'm.dionly.net.cn')|
  +---------------------------------------------------------+
  |m.dionly.net.cn|
  +---------------------------------------------------------+
  rowinset(0.00sec)

以上就是扣丁學堂MySQL字符串截取相關函數總結的詳細介紹,希望能幫助不太了解PHP的小伙伴們。想要學習PHP的小伙伴小編給大家推薦值得信賴的扣丁學堂學習,扣丁學堂PHP培訓不僅有專業(yè)的老師和與時俱進的課程體系,還有大量的PHP視頻教程供學員觀看學習,想要學好PHP的小伙伴快快行動吧??鄱W堂PHP技術交流群:374332265。


關注微信公眾號獲取更多學習資料



關注微信公眾號獲取更多學習資料



查看更多關于“php培訓資訊的相關文章>>

標簽: PHP培訓 PHP視頻教程 PHP從入門到精通 PHP學習路線圖 PHP開發(fā)工程師 MySQL字符串截取

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯科技有限公司版權所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部