2015-05-15 157 views
0

我在一個變量中有一個字符串@str =11,22。我怎麼可以插入到這個表像,如何獲取逗號分隔字符串的值到表中?

id  num 
------------- 
1  11 
2  22 
+0

http://stackoverflow.com/questions/10581772/how-to-split-a-comma的重複-separated-value-to-columns – gh9

+0

INSERT INTO tableName(NUM)VALUES(11),(22)'假設ID是身份[FIDDLE](http://sqlfiddle.com/#!6/29b02/1/0)那麼..有什麼問題嗎? – xQbert

+0

可能的重複[如何分割字符串,以便我可以訪問項目x](http://stackoverflow.com/questions/2647/how-do-i-split-a-string-so-i-can-access -item-x) –

回答

1

這裏有一個簡單的方法,讓你在找什麼,儘管它取決於值之間用逗號被拆且無空格(雖然你可以使用修剪,如果你認爲這可能發生):

Declare @str varchar(10) = '11,22,33' 
Declare @foobar table (id int identity (1,1), num int) 

while (CHARINDEX(',', @str) > 0) 
begin 
insert into @foobar (num) 
Select Left(@Str, CHARINDEX(',', @str) - 1) 
Set @str = (select SUBSTRING(@str, CHARINDEX(',', @str) + 1, Len(@str))) 
end 
if Len(@Str) > 0 
    insert into @foobar (num) 
    select @str 

select * from @foobar 

這裏是SQL小提琴:http://www.sqlfiddle.com/#!6/0e240/2/0

相關問題