一、基本概念
SQL Server截取是指從字元串中截取部分字元的操作。常用的SQL Server截取函數有SUBSTRING()和LEFT()/RIGHT()。
二、SUBSTRING()函數
SUBSTRING()函數可以截取任意長度的字元,語法格式為:
SUBSTRING(字元串表達式, 開始位置, 截取長度)
其中,字元串表達式為被截取的字元串,開始位置為截取的起始位置,截取長度為需要截取的長度。
示例:
SELECT SUBSTRING('abcdefg', 2, 3) AS result;
返回結果為cde,因為從字元串表達式’abcdefg’中,從第二個位置開始截取三個字元。
三、LEFT()/RIGHT()函數
LEFT()/RIGHT()函數只能截取指定長度的左側/右側字元,語法格式為:
LEFT(字元串表達式, 截取長度)
RIGHT(字元串表達式, 截取長度)
其中,字元串表達式為被截取的字元串,截取長度為需要截取的長度。
示例:
SELECT LEFT('abcdefg', 3) AS left_result, RIGHT('abcdefg', 3) AS right_result;
返回結果為abc和efg,因為LEFT()截取了字元串表達式’abcdefg’的前三個字元,RIGHT()截取了後三個字元。
四、對NULL值的處理
如果字元串表達式或截取長度為NULL,則會返回NULL。因此,需要對值為NULL的情況進行特殊處理,避免函數運行出錯。
示例:
SELECT SUBSTRING(NULL, 1, 3) AS sub_result, LEFT(NULL, 2) AS left_result, RIGHT('abcd', NULL) AS right_result;
返回結果均為NULL。
五、結合其他函數使用
SQL Server截取函數可以與其他函數結合使用,例如LEN()函數和CHARINDEX()函數,對字元串進行複雜的操作。
示例:
SELECT SUBSTRING('abcdefg', CHARINDEX('d', 'abcdefg'), LEN('abcdefg')-CHARINDEX('d', 'abcdefg')+1) AS result;
返回結果為defg,因為從字元串表達式’abcdefg’中,截取從第一個d字元開始到字元串結尾的所有字元。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232487.html