我正在使用bcp将平面文件导入SQL Server 2005数据库。
我遇到了日期时间字段的问题。
我的格式文件字段指定为:
<COLUMN SOURCE="15" NAME="DATEOFSERVICE" xsi:type="SQLDATETIME"/>
我的数据文件的日期格式为: 19820101
但是,有些(很多)填充了00000000
由于类型不匹配,00000000日期无法正确导入。
有没有办法指定我的格式文件来处理清零日期?或者告诉bcp在遇到00000000时输入默认值的方法?
答案 0 :(得分:2)
我建议你创建一个临时表,其中date列被指定为varchar数据类型。然后,将您的数据BCP到临时表。将数据加载到临时表后,可以清除日期(例如,将NULL替换为00000000)。最后,验证数据后,将其复制到真实表格中。
对于极大的数据文件,这可能不太适用,但我不确定你还能做到这一点。
答案 1 :(得分:0)
我会使用OPENROWSET和case语句在导入数据时进行翻译。