SQL 服务器:从列中存储的 csv 字符串批量插入

SQL Server : bulk insert from csv string stored in column

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

是否可以从字符串导入?

谢谢和问候

加布里埃尔

一般来说,不希望在 SQL 服务器 table 中存储未规范化的 CSV 数据。这使得查询和使用数据变得非常困难。话虽如此,有时我们不得不忍受糟糕的设计决策。话虽如此,您可以尝试将 CSV 列写入文件。从 SSMS 的查询菜单中选择 SQLCMD 模式,然后键入以下内容:

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

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