首頁 > 軟體

MySQL實現字串擷取的圖文教學

2022-03-05 16:00:02

前言

在後端開發過程中與資料庫打交道乃是家常便飯,有時候會遇到只要資料庫中的某條資料的一部分,這個時候有兩種方式:

(1)把其讀取出來後再進行相應的處理

(2)在讀取的時候利用MySQL自帶的函數進行處理

接下來我們就以第二種方式為列進行總結

(1)建立一個使用者表,如下:

(2)left(col_name, length) 函數:   從左往右擷取。col_name是列名(必選),length是從左往右擷取的長度(必選 為正整數,如果為負數則什麼也沒返回,下標從1開始,不是0)

A:length:整數

B:length:負數

(3)right(col_name, length) 函數: 從右往左擷取。col_name是列名(必選),length是從右往左擷取的長度(必須 為正整數,如果為負數則什麼也沒返回 下標從1開始,不是0)

A:length:整數

B:length:負數

(4)substring(col_name, start, length)函數: col_name列名(必選),start從第幾個開始(必選 為整數 從1開始),length截去長度(可選,為正整數)

A:start:正整數,length未選,從左邊往右邊數,第三個字元開始向右邊擷取,直到結尾。

B:start:負整數,length未選,從右邊往左邊數,第三個字元開始向右邊擷取,直到結尾。

C:start:正整數,length:正整數;從左邊往右邊數,第三個字元開始向右邊擷取5個字元。

D:start:負整數,length:正整數;從右邊往左邊數,第三個字元開始向右邊擷取3個字元。

E:當從star開始擷取,緊跟其後面的字元數<length時(與D比較)

F:start:負整數,length:負整數;什麼也沒擷取

(5)substring_index(col, a, num)函數:從第num個a來分割col,當num為正整數時,從左往右分割並左往右取;num為負整數時,從右往左分割並從右往左取。

A:以hello world 的第一個‘o’來進行分割 (分割後: hell   oworld)

B:以hello world 的第二個‘o’來進行分割 (分割後: hello w    orld)

C:從右往左數,以第一個‘o’進行分割(分割後:hello wo         rld)

D:從右往左數,以第二個‘o’進行分割(分割後:hello    world)

附: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實現字串擷取的文章就介紹到這了,更多相關MySQL字串擷取內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com