MySQL substr函數(shù)使用方法詳解
一、作用
從一個(gè)內(nèi)容中,按照指定條件,「截取」一個(gè)字符串。這個(gè)內(nèi)容可以是數(shù)值或字符串。
二、語(yǔ)法
substr(obj,start,length)
參數(shù)
- obj:從哪個(gè)內(nèi)容中截取,可以是數(shù)值或字符串。
- start:從哪個(gè)字符開(kāi)始截?。?開(kāi)始,而不是0開(kāi)始)
- length:截取幾個(gè)字符(空格也算一個(gè)字符)。
三、使用
1. 截取字符串
1)想要從一個(gè)字符串中截取「固定數(shù)量」的字符時(shí),可以指定兩個(gè)參數(shù),即從哪個(gè)字符開(kāi)始截取,截取幾個(gè)字符。
比如,截取字符串 abcdefg 的第1~3個(gè)字符:

2)如果只給「一個(gè)參數(shù)」,則默認(rèn)截取到最后。
比如,從第2個(gè)字符開(kāi)始,截取到最后一個(gè)字符:

3)substr允許參數(shù)的「值為負(fù)數(shù)」,當(dāng)我們不知道字符串的具體長(zhǎng)度,但想要截取最后幾個(gè)字符時(shí),可以將參數(shù)寫(xiě)成負(fù)數(shù),從倒數(shù)第幾個(gè)字符串開(kāi)始截取,截取到最后。
比如,從倒數(shù)第4個(gè)字符開(kāi)始截取,截取到最后:

2. 截取查詢(xún)結(jié)果
1)substr允許將其他語(yǔ)句的查詢(xún)結(jié)果作為參數(shù),進(jìn)行截取(注意用括號(hào)括起來(lái))。
比如,截取查詢(xún)結(jié)果中的前5個(gè)字符:

3. 兩種格式
substr還有另外一種語(yǔ)法格式
substr(obj FROM start FOR length)
也就是將參數(shù)之間的逗號(hào)替換為 form 和 for (不區(qū)分大小寫(xiě)),這種形式可以增加代碼的可讀性。

四、substr、substrb、substring的區(qū)別
1)substr和substring作用相同,可以相互替換。
2)substr以字符串為單位,而substrb以字節(jié)為單位(substrb后買(mǎi)的b,是比特的意思,也就是字節(jié))
比如,一個(gè)漢字代表3個(gè)字節(jié),使用substr截取,參數(shù)設(shè)1就可以,;但substrb截取,參數(shù)就要設(shè)3。
3)substr是從1開(kāi)始,而substrb是從0開(kāi)始
到此這篇關(guān)于MySQL substr函數(shù)使用方法詳解的文章就介紹到這了,更多相關(guān)MySQL substr函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql如何查詢(xún)重復(fù)數(shù)據(jù)并刪除
這篇文章主要介紹了mysql如何查詢(xún)重復(fù)數(shù)據(jù)并刪除問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
windows mysql 自動(dòng)備份的幾種方法匯總
本篇文章主要對(duì)windows mysql 自動(dòng)備份的幾種方法進(jìn)行整理,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12
MySQL主從搭建(多主一從)的實(shí)現(xiàn)思路與步驟
通過(guò)MySQL主從配置,可以實(shí)現(xiàn)讀寫(xiě)分離減輕數(shù)據(jù)庫(kù)壓力,最近正好遇到這個(gè)功能,所以這篇文章主要給大家介紹了關(guān)于MySQL主從搭建(多主一從)的實(shí)現(xiàn)思路與步驟,需要的朋友可以參考下2021-05-05
MySQL中ROUND函數(shù)進(jìn)行四舍五入操作陷阱分析
這篇文章主要介紹了MySQL中ROUND函數(shù)進(jìn)行四舍五入操作陷阱,結(jié)合實(shí)例形式分析了mysql使用ROUND函數(shù)進(jìn)行四舍五入運(yùn)算中出現(xiàn)的問(wèn)題及其錯(cuò)誤原因,需要的朋友可以參考下2018-06-06
Mysql中的concat函數(shù)(拼接函數(shù))詳解
很多時(shí)候,我們需要將不同地方獲得的字符串拼接在一起,此時(shí)就需要使用CONCAT和CONCAT_WS函數(shù),這篇文章主要介紹了Mysql中的concat函數(shù)(拼接函數(shù)),需要的朋友可以參考下2023-02-02
MySQL系列教程小白數(shù)據(jù)庫(kù)基礎(chǔ)
這篇文章主要為大家介紹了MySQL系列中的數(shù)據(jù)庫(kù)基礎(chǔ),非常適合數(shù)據(jù)庫(kù)小白的入門(mén)基礎(chǔ)篇,詳細(xì)的講解了數(shù)據(jù)庫(kù)的基本概念以及基礎(chǔ)命令及操作示例,有需要的朋友可以借鑒參考下2021-10-10
MYSQL Left Join優(yōu)化(10秒優(yōu)化到20毫秒內(nèi))
在實(shí)際開(kāi)發(fā)中,相信大多數(shù)人都會(huì)用到j(luò)oin進(jìn)行連表查詢(xún),但是有些人發(fā)現(xiàn),用join好像效率很低,而且驅(qū)動(dòng)表不同,執(zhí)行時(shí)間也不同。那么join到底是如何執(zhí)行的呢,本文就詳細(xì)的介紹一下2021-12-12
MySQL數(shù)據(jù)庫(kù)中SQL分組統(tǒng)計(jì)與排序詳解
在現(xiàn)代數(shù)據(jù)分析和數(shù)據(jù)庫(kù)管理中,分組統(tǒng)計(jì)是最基礎(chǔ)也是最核心的操作之一,無(wú)論是業(yè)務(wù)報(bào)表生成、用戶(hù)行為分析還是系統(tǒng)性能監(jiān)控,我們經(jīng)常需要按照某個(gè)字段對(duì)數(shù)據(jù)進(jìn)行分組,所以本文給大家詳細(xì)介紹了MySQL數(shù)據(jù)庫(kù)中SQL分組統(tǒng)計(jì)與排序,需要的朋友可以參考下2025-05-05

