Hej!
Om jag har en sträng "1,2,11,23" och vill sätta in det i en tabell, hur gör jag då?
Alltså ovanstående sträng skall resultera i 4 nya poster, och inte en ny post.
1 svar · 204 visningar · startad av Brimba
Hej!
Om jag har en sträng "1,2,11,23" och vill sätta in det i en tabell, hur gör jag då?
Alltså ovanstående sträng skall resultera i 4 nya poster, och inte en ny post.
Finns inga bra färdiga funktioner så vitt jag vet.
declare @csv varchar(40)
declare @i,@s,@l int
declare @v int
set @i = 0
set @s = 1
set @l = len(@csv)
while @i < len(@csv)
begin
set @i = @i + 1
if substring(@csv,@i,1) = ','
or @i = @l
begin
if @i = @l
set @v = cast(substring(@csv,@s,@i-@s + 1) as int)
else
set @v = cast(substring(@csv,@s,@i-@s) as int)
insert into t values(@v)
set @s = @i + 1
end
end
Eftersom det är otestat så kan det säkert finnas något fel-
T.ex. att det skall vara +1 eller -1 i substring