sql语句中怎么截取某字段的一部分
這篇文章主要介紹“sql語句中怎么截取某字段的一部分”,在日常操作中,相信很多人在sql語句中怎么截取某字段的一部分問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”sql語句中怎么截取某字段的一部分”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在sql中,可以使用SUBSTRING語句截取某字段的一部分,語法格式為“SUBSTRING(字符串,開始位置,截取長度)”。SQL中的substring函數是用來抓出一個欄位資料中的其中一部分
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
SUBSTRING(expression,start,length)
參數
expression
字符串、二進制字符串、文本、圖像、列或包含列的表達式。請勿使用包含聚合函數的表達式。
start
整數或可以隱式轉換為 int 的表達式,指定子字符串的開始位置,索引是從1開始。
length
整數或可以隱式轉換為 int 的表達式,指定子字符串的長度。經測試,暫且發現只能是非負數。
返回值
1、如果 expression 是一種支持的二進制數據類型,則返回二進制數據,這種情況我們暫且不討論。
2、如果 expression 是一種支持的字符數據類型,則返回字符數據。
(1)如果 start的索引是從1開始,則從表達式的第一個字符開始進行字符串截取,從2開始就從表達式的第二個字符開始截取,以此類推。
例如:
selectSUBSTRING('abcde',1,2)返回結果ab
selectSUBSTRING('abcde',2,3)返回結果bcd
selectSUBSTRING('abcde',1,0)返回結果為空
selectSUBSTRING('abcde',0,8)返回結果為abcde,注意后面沒有空格了。
(2) 如果start的索引是從小于1(0或負數)開始,則返回長度等于從1開始,截取長度為 length - ((start - 1)的絕對值), 如果這個差為負數就返回空。
例如:下面的 || 表示絕對值計算
selectSUBSTRING('abcde',0,2)返回結果為a,計算公式為SUBSTRING(1,2-|2-1|)
selectSUBSTRING('abcde',0,-1)返回錯誤提示“傳遞到substring函數的長度參數無效”
selectSUBSTRING('abcde',-1,2)返回結果為空,計算公式為SUBSTRING(1,2-|-1-1|)
selectSUBSTRING('abcde',-5,3)返回結果為空,計算公式為SUBSTRING(1,3-|-5-1|)
selectSUBSTRING('abcde',-1,4)返回結果為ab,計算公式為SUBSTRING(1,4-|-1-1|)
selectSUBSTRING('abcde',-2,8)返回結果為abcde,計算公式為SUBSTRING(1,8-|-2-1|)
總結
以上是生活随笔為你收集整理的sql语句中怎么截取某字段的一部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cloud for Customer U
- 下一篇: js如何实现转字符串