MySQL實現字符串截取的圖文教程

前言

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

(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字符串截取內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: