在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開始就從表達式的第二個字元開始截取,以此類推。
例如:
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教學(影片)
以上是sql語句如何截取某一欄位的一部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!