从TSQL中的CSV值进行设置

从TSQL中的CSV值进行设置,tsql,Tsql,如果我想查看Excel电子表格列中的哪些值与表中的值不匹配,我可以通过批量导入轻松创建一个表。有没有更简单的方法? 例如,我想做如下查询: select into #temp from ('a', 'b', 'c') as 'Id' select * from #temp where Id not in (select Id from MyTable) 我建议使用将列表解析为表。然后,您应该能够执行以下操作: SELECT * INTO #temp FROM dbo.udf_List2Tabl

如果我想查看Excel电子表格列中的哪些值与表中的值不匹配,我可以通过批量导入轻松创建一个表。有没有更简单的方法? 例如,我想做如下查询:

select into #temp from ('a', 'b', 'c') as 'Id'
select * from #temp where Id not in (select Id from MyTable)
我建议使用将列表解析为表。然后,您应该能够执行以下操作:

SELECT * INTO #temp FROM dbo.udf_List2Table( 'a,b,c', ',') 
SELECT * FROM #temp WHERE item NOT IN (SELECT Id FROM MyTable)

此外,我还使用Excel中的附加列和一系列CONCATENATE.TEXT命令来创建INSERT语句。仅此列,复制到文本文件中,就是您的脚本

您有一个语法错误-
INTO
语句必须在
FROM
之前,谢谢。我为您修复了一些语法错误。这很好,但是字符串中的换行符看起来不太好,所以从Excel列粘贴有点麻烦。谢谢Ed。修复了@罗斯法布里坎特-我可以看到新的生产线造成了问题。在将逗号分隔的值传递到查询之前,能否对csv文件进行一些清理?如果你有记事本+,这个链接可能会帮助你做到这一点:谢谢,好主意。但是,从Excel复制时,使用更简单的公式或根本不使用公式会更容易。