0

我有如下字符串:

string s; //reading from front end like s='color'  
string s1; //reading from front end like s1='prototype'

string str=s+","+s1;

所以str="color,prototype"

并且字符串str可以包含许多字符串,例如str="color,prototype,niranjan,cloud";

我想将它发送到数据库并根据以下行将其插入表中:

  id         value  
   1         color  
   2         prototye    
   3         niranjan   
   4         cloud

于是一个存储过程或查询就找到了上面的要求。

4

1 回答 1

0

如果您的 sql server > 2000,请按照此操作

DECLARE @S varchar(max),
  @Split char(1),
  @X xml

SELECT @S = '1,2,3,4,5',
  @Split = ','

SELECT @X = CONVERT(xml,'<root><s>' + REPLACE(@S,@Split,'</s><s>') + '</s></root>')

SELECT [Value] = T.c.value('.','varchar(20)')
FROM @X.nodes('/root/s') T(c)

参考:http ://social.msdn.microsoft.com/forums/en-US/transactsql/thread/4126a010-6885-4eb0-b79c-c798c90edb85

否则,请在以下位置创建一个简单的拆分函数:http: //blog.logiclabz.com/sql-server/split-function-in-sql-server-to-break-comma-separated-strings-into-table.aspx

于 2012-08-04T03:04:36.913 回答