mysql根據字元截取字串(總結)

來源:互聯網
上載者:User

標籤:開始   1.5   主鍵   相關   停止   ext   現在   font   各級   

mysql根據字元截取字串(總結)

1.1 前言

    為結合自己平常查資料的習慣,我會先給出例子,然後再對相關知識進行詳解。該案例使用到的函數為:SUBSTRING_INDEX

1.2 需要實現的實際需求

  1. 如下表為文檔目錄表,其中關鍵字段dir_seq為目錄層級索引,dir_name為目錄名稱。假設現在我們擷取到dir_seq值為 .341.346.347.348. ,現在我們想擷取到各層級的目錄主鍵。

1.3 截取一級目錄主鍵

  1. 步驟一:

          先根據字元‘.‘從左邊開始第二個‘.‘開始截取左邊的字串:SUBSTRING_INDEX(dir_seq,‘.‘,2)

           截取結果:  .341

    步驟二:

           在步驟一的截取結果再根據字元‘.‘從右邊開始第一個‘.‘開始截取右邊的字串:SUBSTRING_INDEX( SUBSTRING_INDEX(dir_seq,‘.‘,2) ,‘.‘,-1)

           截取結果:  341

 

 

1.3 截取二級目錄主鍵

  1. 步驟一:      先根據字元‘.‘從左邊開始第三個‘.‘開始截取左邊的字串:SUBSTRING_INDEX(dir_seq,‘.‘,3)       截取結果:  .341.346步驟二:       在步驟一的截取結果再根據字元‘.‘從右邊開始第一個‘.‘開始截取右邊的字串:SUBSTRING_INDEX( SUBSTRING_INDEX(dir_seq,‘.‘,3) ,‘.‘,-1)       截取結果:  346

1.4 截取三級目錄主鍵,其實從上面兩個例子已經看出規律,先從左截取三級目錄id所在的位置,再從右截取第一個‘.‘的位置。。。

1.5 mysql相關字串截取的函數詳解:

  1. SUBSTRING_INDEX(subStr, matchStr, index)
    根據匹配的字元以及出現的位置開始截取字串
    subStr: 需要截取的欄位
    matchStr: 匹配的字元
    index: 從第幾個匹配的字元,為正數時從左邊開始尋找並向左截取,為負數時從右邊開始尋找並向右截取
  2. LEFT(subStr,index) 
    從左邊開始向右截取,截至第index位(index從1開始)
    subStr: 需要截取的欄位
    index: 停止截取的位置(包括該位置的字元)
  3. RIGHT(subStr,index) 

    從右邊開始向左截取,截至從右邊開始數第index位(index從1開始)
    subStr: 需要截取的欄位
    index: 停止截取的位置(包括該位置的字元)

     

  4. SUBSTRING(subStr,  index)
    當index為負數時,從右邊開始向左截取,截至從右邊開始數第index位
    當index為正數時,從左邊開始向右截取,截至從左邊開始數第index位

    subStr: 需要截取的欄位
    index: 停止截取的位置(包括該位置的字元)


 

mysql根據字元截取字串(總結)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.