事务处理 SQL 的查询困难?



我想知道您将如何在事务处理SQL中执行此操作:

假设数据库中有一个逗号分隔的值字符串,例如:

"1,2,3,4,5"

在事务处理 SQL 中,您将使用什么语法来:

  1. 读取字符串
  2. 将每个整数插入数据库中的单独行中。

例如,运行此事务处理 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);  

最新更新