sql語句如何截取某字段的一部分

sql中,可以使用SUBSTRING語句截取某字段的一部分,語法格式為“SUBSTRING(字符串,開始位置,截取長度)”。SQL中的substring函數是用來抓出一個欄位資料中的其中一部分

sql語句如何截取某字段的一部分

本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

SUBSTRING?(?expression,?start,?Length?)

參數?

expression?

字符串、二進制字符串、文本、圖像、列或包含列的表達式。請勿使用包含聚合函數的表達式。?

start?

整數或可以隱式轉換為 int 的表達式,指定子字符串的開始位置,索引是從1開始。?

length?

整數或可以隱式轉換為 int 的表達式,指定子字符串的長度。經測試,暫且發現只能是非負數

返回值

1、如果 expression 是一種支持的二進制數據類型,則返回二進制數據,這種情況我們暫且不討論。

2、如果 expression 是一種支持的字符數據類型,則返回字符數據。

(1)如果 start的索引是從1開始,則從表達式的第一個字符開始進行字符串截取,從2開始就從表達式的第二個字符開始截取,以此類推。

例如:

?select?SUBSTRING('abcde',1,2)?返回結果?ab ?select?SUBSTRING('abcde',2,3)?返回結果?bcd ?select?SUBSTRING('abcde',1,0)?返回結果為空 ?select?SUBSTRING('abcde',0,8)?返回結果為abcde,注意后面沒有空格了。

(2)?如果start的索引是從小于1(0或負數)開始,則返回長度等于從1開始,截取長度為 length – ((start – 1)的絕對值), 如果這個差為負數就返回空。

例如:下面的 || 表示絕對值計算

select?SUBSTRING('abcde',0,2)?返回結果為?a?,?計算公式為SUBSTRING(1,2-|2-1|)? ?select?SUBSTRING('abcde',0,-1)?返回錯誤提示“傳遞到?substring?函數的長度參數無效” ?select?SUBSTRING('abcde',-1,2)?返回結果為空,?計算公式為SUBSTRING(1,2-|-1-1|)? ?select?SUBSTRING('abcde',-5,3)?返回結果為空,?計算公式為SUBSTRING(1,3-|-5-1|)? ?select?SUBSTRING('abcde',-1,4)?返回結果為ab,?計算公式為SUBSTRING(1,4-|-1-1|)? ?select?SUBSTRING('abcde',-2,8)?返回結果為abcde,?計算公式為SUBSTRING(1,8-|-2-1|)

相關學習推薦:mysql教程(視頻)

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享