0

我正在使用 bcp 将平面文件导入 SQL Server 2005 数据库。

我遇到了日期时间字段的问题。

我的格式文件字段指定为:

<COLUMN SOURCE="15" NAME="DATEOFSERVICE" xsi:type="SQLDATETIME"/>

我的数据文件的日期格式为:19820101

但是,一些(许多)充满了 00000000

由于类型不匹配,00000000 日期无法正确导入。

有没有办法指定我的格式文件来处理归零日期?或者告诉 bcp 在遇到 00000000 时输入默认值的方法?

4

2 回答 2

2

我建议您创建一个临时表,其中将日期列指定为 varchar 数据类型。然后,将您的数据 BCP 到临时表。将数据加载到临时表后,您可以清理日期(例如,将 00000000 替换为 NULL)。最后,一旦您的数据经过验证,请将其复制到真实表中。

这对于非常大的数据文件可能效果不佳,但我也不确定您还能如何完成此操作。

于 2009-07-06T22:21:09.317 回答
0

我会在导入数据时使用带有 case 语句的OPENROWSET来进行翻译。

于 2009-07-07T00:11:21.777 回答