使用某些逻辑将表导出到Flat File

时间:2013-04-08 14:30:52

标签: tsql export flat-file bcp

我正在编写脚本,每天将一些表导出为平面文件。我正在查看BCP实用程序,但我不确定它是否具有我真正需要的功能。

  1. 例如,我需要不按顺序输出字段。也就是说,MSSQL数据库中的第15个字段应该是平面文件中的第2个字段,et.c

  2. 更重要的是,有些字段需要更改。例如,如果某个字段为null或包含一些特殊值,我需要用代码替换它们。

  3. BCP是否是正确的工具?我的直觉告诉我在Perl中这样做。

2 个答案:

答案 0 :(得分:1)

您可以编写存储过程并在那里进行所有数据转换。 然后将此存储过程提供给 bcp

肯定会比Perl更快。

SSIS也很快;如果转换非常复杂,可以选择。

答案 1 :(得分:1)

您可以使用查询直接使用BCP

对列进行排序和格式化

bcp Utility

"查询"
是一个返回结果集的Transact-SQL查询。

示例:

bcp "SELECT Name FROM AdventureWorks.Sales.Currency" queryout Currency.Name.dat -T -c