sql server - How two split data with two separated? -
have variable declare @var nvarchar(max) = 'a=2*b=3*c=4|a=10*b=11*c=12|a=20*b=21*c=22'
want split table variable
declare @tbl table(a varchar(50),b varchar(50),c varchar(50))
response must :
a b c 2 3 4 10 11 12 20 21 22
how ?
when order of fields sorted use this:
declare @var nvarchar(max) = 'a=2*b=3*c=4|a=10*b=11*c=12|a=20*b=21*c=22' set @var = replace(@var, '*', ',') set @var = 'select ' + replace(@var, '|', ' union select ') exec(@var)
when result has 3 columns, order of fields can changes:
declare @var nvarchar(max) = 'a=2*b=3*c=4|b=10*a=11*c=12|a=20*b=21*c=22' set @var = replace(@var, '*', ',') set @var = 'select a,b,c (select ' + replace(@var, '|', ') dt union select a,b,c (select ') + ') dt' exec(@var)
Comments
Post a Comment