我有类似的东西
set @file = 'aaaa,bbbb,cccc,dddd,eeee,ffff'
SELECT SUBSTRING(@file,CHARINDEX(',',@file)+1, CHARINDEX(',',@file,CHARINDEX(',',@file)+1) -CHARINDEX(',',@file)-1) as My_string
这将打印出来
My_string
----------------
1| bbbb
如何打印?
My_string
------------
1| bbbb
2| cccc
3| dddd
4| eeee
尝试以下代码。,(请参阅将逗号分隔的字符串转换成单独的行)
declare @file varchar(max)
set @file = 'aaaa,bbbb,cccc,dddd,eeee,ffff'
;with tmp(DataItem, Data)
as (
select LEFT(@file, CHARINDEX(',',@file+',')-1),
STUFF(@file, 1, CHARINDEX(',',@file+','), '')
union all
select LEFT(Data, CHARINDEX(',',Data+',')-1),
STUFF(Data, 1, CHARINDEX(',',Data+','), '')
from tmp
where Data > '')
select DataItem from tmp
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句