首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么分解这个字符串

2012-06-17 
如何分解这个字符串EXEC SP_MDealBillListCheck t_OtherInList,10663,10662,10661,10660,管理员,XU

如何分解这个字符串
EXEC SP_MDealBillListCheck 't_OtherInList','10663,10662,10661,10660','管理员','XUGR','1'


'10663,10662,10661,10660' 这个字符串实际是多个数据行的表单号,然后我对这个表单进行批量审核


我希望分解后插入一个临时表,如下

A表
10663
10662
10661
10660


然后我再用游标一个个处理



[解决办法]

SQL code
if object_id('f_split')is not null drop function  f_splitgocreate function f_split(@s     varchar(8000),  --待分拆的字符串@split varchar(10)     --数据分隔符)returns tableas return (  select substring(@s,number,charindex(@split,@s+@split,number)-number)as col  from master..spt_values  where type='p' and number<=len(@s+'a')   and charindex(@split,@split+@s,number)=number  )goselect * from dbo.f_split('11,2,3',',')/*col----1123(3 個資料列受到影響)*/
[解决办法]
SQL code
declare @M varchar(50),        @N xml        set @M='10663,10662,10661,10660'set @N=convert(xml,'<r><c>'+replace(@M,',','</c><c>')+'</c></r>')select col=T.c.value('.[1]','varchar(20)')from @N.nodes('/r/c') T(c)/*col--------------------10663106621066110660*/ 

热点排行