SQL Server:从存储在列中的csv字符串批量插入

时间:2017-11-07 15:49:20

标签: sql-server csv insert bulk

我将csv字符串存储在数据表中。我后来需要从该csv创建一个临时表,但BULK INSERT只提供一个文件名作为数据源。

是否有可能从字符串导入?

谢谢你,问候

加布里埃尔

1 个答案:

答案 0 :(得分:1)

通常,不希望将非标准化CSV数据存储在SQL Server表中。这使得查询和处理数据变得非常困难。话虽如此,有时候我们不得不忍受糟糕的设计决策。话虽如此,您可以尝试将CS​​V列写入文件。从SSMS的查询菜单中选择SQLCMD模式,然后键入以下内容:

:OUT c:\path\to\your\file.csv
SET NOCOUNT ON;SELECT csv_column FROM dbo.yourTable

现在你有一个真正的CSV文件,你应该可以使用BULK INSERT。请注意,我在此假设您要导入的CSV数据包含在单个列csv_column中,并且数据格式正确(例如,每个记录具有相同数量的逗号等)。