【发布时间】:2018-01-22 16:57:24
【问题描述】:
如何从 SQL Server 中的逗号分隔字符串中获取值到行中,以便将它们插入到表中?
例如,使用以下数据:
Declare @string as nvarchar(max);
Declare @substring as nvarchar(50);
set @string = "Apple, Banana, Cherry, Orange, Mango"
我目前硬编码了set @last = 2,对于这个例子,但@last 应该包含字符串中的单词数。参数@substring 将在循环中一一包含每个水果,我想用它来插入目标表。
这是我当前的代码,但我不知道如何将 @last 设置为所需的值:
DECLARE @first AS INT
SET @first = 1
DECLARE @step AS INT
SET @step = 1
DECLARE @last AS INT
SET @last = 2
BEGIN TRANSACTION
WHILE(@first <= @last)
BEGIN
INSERT INTO tbFruit(Name)
VALUES(@substring);
SET @first += @step
END
COMMIT TRANSACTION
【问题讨论】:
-
@user2179026:不,这不是代码编写服务。请参阅How to Ask。
-
@AmalMurali 这个问题还不错。它显示了重新创建它所需的所有代码的明显问题。
-
@Tanner:OP 删除了问题下的一条评论,内容类似于:“
@artm 你能帮我写代码吗?”。
标签: sql-server regex tsql