declare @s varchar(8000)
set @s='1:23;2:3;3:4;4:45;5:45'
set @s = ';'+@s
while charindex(':',@s)>0
begin
select @s = stuff(@s,charindex(';',@s),charindex(':',@s)-charindex(';',@s)+1,'+')
end
set @s = stuff(@s,1,1,'')
print @s
exec('select '+@s)
/*
23+3+4+45+45
declare @aa varchar(1000),@bb varchar(1000)
set @aa='1:23;2:3;3:4;4:45;5:45'
set @bb=''
while charindex(';',@aa)>0
begin
set @aa=stuff(@aa,1,charindex(':',@aa),'')
set @bb=@bb+left(@aa,charindex(';',@aa))
end
set @aa=stuff(@aa,1,charindex(':',@aa),'')
set @bb=replace(@bb,';','+')+@aa
exec('select '+@bb)
declare @aa varchar(1000),@bb varchar(1000)
set @aa='1:23;2:3;3:4;4:45;5:45'
set @bb=''
while charindex(':',@aa)>0
begin
set @aa=stuff(@aa,1,charindex(':',@aa),'')
set @bb=@bb+left(@aa,charindex(';',@aa))
end
set @aa=stuff(@aa,1,charindex(':',@aa),'')
set @bb=replace(@bb,';','+')+@aa
exec('select '+@bb)