Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用bcp和格式化文件处理日期时间_Sql Server_Datetime_Bcp - Fatal编程技术网

Sql server 使用bcp和格式化文件处理日期时间

Sql server 使用bcp和格式化文件处理日期时间,sql-server,datetime,bcp,Sql Server,Datetime,Bcp,我正在使用bcp将平面文件导入SQLServer2005数据库 我遇到了datetime字段的问题 “我的格式文件”字段指定为: <COLUMN SOURCE="15" NAME="DATEOFSERVICE" xsi:type="SQLDATETIME"/> 我的数据文件的日期格式为: 19820101 然而,有些(许多)是用00000000填充的 由于类型不匹配,00000000日期无法正确导入 有没有办法指定我的格式文件来处理清零日期?或者如果遇到00000000,告诉b

我正在使用bcp将平面文件导入SQLServer2005数据库

我遇到了datetime字段的问题

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

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

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

然而,有些(许多)是用00000000填充的

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


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

我建议您创建一个临时表,其中日期列被指定为varchar数据类型。然后,将数据BCP到temp表。将数据加载到temp表后,可以删除日期(例如,将00000000替换为NULL)。最后,验证数据后,将其复制到实际表中

这对于非常大的数据文件可能不太管用,但我也不确定您还可以如何做到这一点。

在导入数据时,我会使用case语句来进行转换