比如我们有一个字符串
declare @appName varchar(50)
select @appName ='UserID=admin,Account=ABC'
然后我们要以","为行分割符号,以"="为列分割符号将@appName分割成多行两列的格表数据。
也就是将上面的@appName值分割成
Name |
Value |
UserID |
admin |
AccountNumber |
ABC |
这种格式的数据。
请教了很多朋友,下面将最简单的方法贴出来,供大家参考:
declare @a table(a varchar(100),b varchar(100))
declare @s varchar(100),
@m varchar(100),
@i int
set @s='UserID=admin,Account=ABC'
set @i=charindex(',',@s)
while @i >0
begin
set @m=left(@s,@i-1)
insert into @a(a) values(@m)
set @s=right(@s,len(@s)-@i)
set @i=charindex(',',@s)
end
insert into @a(a) values (@s)
select left(a,charindex('=',a)-1) as Name,right(a,len(a)-charindex('=',a)) as Value from @a
以上sql经本人测试是正确的,大家可以做参考改成适合自己的sql语句。