給定字串 'a,b,ct,d,e,f,g' 與分隔符 ',',取得第 3 個區段 'ct'。
-- 字串分段截取
DECLARE @s varchar(50), @split varchar(2), @pos int, @splitlen int;
SELECT @s = 'a,b,ct,d,e,f,g', @split = ',', @pos = 3, @splitlen = LEN(@split + 'a') - 2;
WHILE @pos > 1 AND CHARINDEX(@split, @s + @split) > 0
SELECT @pos = @pos - 1,
@s = STUFF(@s, 1, CHARINDEX(@split, @s + @split) + @splitlen, '');
SELECT LEFT(@s, CHARINDEX(@split, @s + @split) - 1);
-- 結果:ct
@splitlen 計算分隔符實際長度(此處為 1)LEFT + CHARINDEX 截取第一個分隔符前的內容SQL Server 2000 及以上版本皆可執行。