Sql server 将逗号分隔的字符串拆分为临时表

Sql server 将逗号分隔的字符串拆分为临时表,sql-server,Sql Server,我将以下字符串变量拆分为临时表 示例: DECLARE @Str VARCHAR(MAX) = '10000,200000' 现在我希望它存储在#Temp表中 像这样: 表:#Temp Cola Colb -------------- 10000 200000 假设您的列不是varchar CREATE TABLE #Temp ( Col1 int, Col2 int ) DECLARE @Str VARCHAR(MAX) = '10000,200000' DECLAR

我将以下字符串变量拆分为临时表

示例

DECLARE @Str VARCHAR(MAX) = '10000,200000'
现在我希望它存储在
#Temp
表中

像这样:

表:
#Temp

Cola     Colb
--------------
10000   200000

假设您的列不是varchar

CREATE TABLE #Temp
(
  Col1 int,
  Col2 int
)

DECLARE @Str VARCHAR(MAX) = '10000,200000'
DECLARE @SQLString VARCHAR(MAX) = 'INSERT #Temp Select ' + @Str

EXEC (@SQLString)

在许多其他问题中可能存在重复。您的问题可能仅存在重复。请拆分字符串,然后对其进行透视。将透视结果集插入#temp table
DECLARE@SQLString VARCHAR(MAX)
中,除非该声明无效且不按要求执行posted@Jaques伟大的非常感谢。
Msg 208,16级,状态0,第1行无效的对象名“#Temp”。
在SQL Server 2008 R2环境中,我得到了这个消息error@Rajesh,我以为那就是你犯的错误。你有没有坐下来想一想你为什么会收到这样一个错误?可能是因为临时表不存在?MAK问他如何将值输入表#Temp,我给了他答案。如果您尚未在会话中创建临时表,您希望如何将值插入该表中?在当前会话中为自己创建一个包含2列的#Temp表,然后执行它。然后你可能会有更好的成功