MySQL實(shí)現(xiàn)字符串截取的圖文教程
前言
在后端開(kāi)發(fā)過(guò)程中與數(shù)據(jù)庫(kù)打交道乃是家常便飯,有時(shí)候會(huì)遇到只要數(shù)據(jù)庫(kù)中的某條數(shù)據(jù)的一部分,這個(gè)時(shí)候有兩種方式:
(1)把其讀取出來(lái)后再進(jìn)行相應(yīng)的處理
(2)在讀取的時(shí)候利用MySQL自帶的函數(shù)進(jìn)行處理
接下來(lái)我們就以第二種方式為列進(jìn)行總結(jié)
(1)創(chuàng)建一個(gè)用戶表,如下:

(2)left(col_name, length) 函數(shù): 從左往右截取。col_name是列名(必選),length是從左往右截取的長(zhǎng)度(必選 為正整數(shù),如果為負(fù)數(shù)則什么也沒(méi)返回,下標(biāo)從1開(kāi)始,不是0)
A:length:整數(shù)

B:length:負(fù)數(shù)

(3)right(col_name, length) 函數(shù): 從右往左截取。col_name是列名(必選),length是從右往左截取的長(zhǎng)度(必須 為正整數(shù),如果為負(fù)數(shù)則什么也沒(méi)返回 下標(biāo)從1開(kāi)始,不是0)
A:length:整數(shù)

B:length:負(fù)數(shù)

(4)substring(col_name, start, length)函數(shù): col_name列名(必選),start從第幾個(gè)開(kāi)始(必選 為整數(shù) 從1開(kāi)始),length截去長(zhǎng)度(可選,為正整數(shù))
A:start:正整數(shù),length未選,從左邊往右邊數(shù),第三個(gè)字符開(kāi)始向右邊截取,直到結(jié)尾。

B:start:負(fù)整數(shù),length未選,從右邊往左邊數(shù),第三個(gè)字符開(kāi)始向右邊截取,直到結(jié)尾。

C:start:正整數(shù),length:正整數(shù);從左邊往右邊數(shù),第三個(gè)字符開(kāi)始向右邊截取5個(gè)字符。

D:start:負(fù)整數(shù),length:正整數(shù);從右邊往左邊數(shù),第三個(gè)字符開(kāi)始向右邊截取3個(gè)字符。

E:當(dāng)從star開(kāi)始截取,緊跟其后面的字符數(shù)<length時(shí)(與D比較)

F:start:負(fù)整數(shù),length:負(fù)整數(shù);什么也沒(méi)截取

(5)substring_index(col, a, num)函數(shù):從第num個(gè)a來(lái)分割col,當(dāng)num為正整數(shù)時(shí),從左往右分割并左往右??;num為負(fù)整數(shù)時(shí),從右往左分割并從右往左取。
A:以hello world 的第一個(gè)‘o’來(lái)進(jìn)行分割 (分割后: hell oworld)

B:以hello world 的第二個(gè)‘o’來(lái)進(jìn)行分割 (分割后: hello w orld)

C:從右往左數(shù),以第一個(gè)‘o’進(jìn)行分割(分割后:hello wo rld)

D:從右往左數(shù),以第二個(gè)‘o’進(jìn)行分割(分割后:hello world)

附:mysql相關(guān)字符串截取的函數(shù)詳解
1、SUBSTRING_INDEX(subStr, matchStr, index)
根據(jù)匹配的字符以及出現(xiàn)的位置開(kāi)始截取字符串
- subStr: 需要截取的字段
- matchStr: 匹配的字符
- index: 從第幾個(gè)匹配的字符,為正數(shù)時(shí)從左邊開(kāi)始查找并向左截取,為負(fù)數(shù)時(shí)從右邊開(kāi)始查找并向右截取
2、LEFT(subStr,index)
從左邊開(kāi)始向右截取,截至第index位(index從1開(kāi)始)
- subStr: 需要截取的字段
- index: 停止截取的位置(包括該位置的字符)
3、RIGHT(subStr,index)
從右邊開(kāi)始向左截取,截至從右邊開(kāi)始數(shù)第index位(index從1開(kāi)始)
- subStr: 需要截取的字段
- index: 停止截取的位置(包括該位置的字符)
4、SUBSTRING(subStr, index)
當(dāng)index為負(fù)數(shù)時(shí),從右邊開(kāi)始向左截取,截至從右邊開(kāi)始數(shù)第index位
當(dāng)index為正數(shù)時(shí),從左邊開(kāi)始向右截取,截至從左邊開(kāi)始數(shù)第index位
- subStr: 需要截取的字段
- index: 停止截取的位置(包括該位置的字符)
總結(jié)
到此這篇關(guān)于MySQL實(shí)現(xiàn)字符串截取的文章就介紹到這了,更多相關(guān)MySQL字符串截取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例
下面小編就為大家?guī)?lái)一篇mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
MySQL定時(shí)任務(wù)(EVENT事件)如何配置詳解
這篇文章主要介紹了MySQL定時(shí)任務(wù)(EVENT事件)如何配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
MySQL 數(shù)據(jù)庫(kù)的臨時(shí)文件究竟儲(chǔ)存在哪里
MySQL使用環(huán)境變量TMPDIR的值作為保存臨時(shí)文件的目錄的路徑名。2009-02-02
MySQL操作數(shù)據(jù)庫(kù)和表的常用命令新手教程
這篇文章主要介紹了MySQL操作數(shù)據(jù)庫(kù)和表的常用命令新手教程,本文總結(jié)的命令都是控制mysql必須掌握的、常用的命令,需要的朋友可以參考下2014-09-09
Mysql跨表更新 多表update sql語(yǔ)句總結(jié)
Mysql跨表更新一直是大家所關(guān)心的話題,本文介紹mysql多表 update在實(shí)踐中幾種不同的寫(xiě)法,需要的朋友可以參考下2012-12-12
mysql創(chuàng)建函數(shù)出現(xiàn)1418錯(cuò)誤的解決辦法
本篇文章是對(duì)在Mysql中創(chuàng)建函數(shù)報(bào)“ERROR 1418”的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

