我想知道您将如何在事务处理SQL中执行此操作:
假设数据库中有一个逗号分隔的值字符串,例如:
"1,2,3,4,5"
在事务处理 SQL 中,您将使用什么语法来:
- 读取字符串
- 将每个整数插入数据库中的单独行中。
例如,运行此事务处理 SQL 语句后,数据库将具有五个附加行:
1
2
3
4
5
这容易吗?
谢谢
您可以使用STRING_SPLIT函数来实现此目的
https://learn.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017
DECLARE @tags NVARCHAR(400) = '1,2,3,4,5,7', @idx int
while LEN(@tags) > 1
begin
select @idx=CHARINDEX(',',@tags);
select SUBSTRING(@tags,1,@idx-1);
set @tags = SUBSTRING(@tags,@idx+1,LEN(@tags)+1)
end
select SUBSTRING(@tags,1,@idx-1);