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!