2016-12-16 67 views
0

它,当我改变字段是VARCHAR,但是当字段类型为datetime批量插入犯规插入数据文本导入日期字段

DECLARE @SQL NVARCHAR(MAX) 
SET @SQL =N'Bulk Insert tblUsersXTemp 
from '''+ 
@filePath + 
N'''WITH (FIELDTERMINATOR = ''","'', 
ROWTERMINATOR = ''"\n'')'; 

EXEC sp_executesql @SQL 

enter image description here

+0

这是你的完整的SQL脚本/存储过程?如果不是,则共享完整的sql脚本。 –

+0

tblUsersXTemp中此列的数据类型是什么? – scsimon

+0

您尚未发布任何*相关信息。没有表架构,没有文件示例。如果您没有以某种方式指定日期格式,您如何期待SQL Server猜测日期格式?除非它是一个明确的格式,如ISO8601或未分离日期格式,否则您必须指定要使用哪种格式/区域设置 –

回答

2

您试图批量插入的一个或多个记录完全有可能不包含有效日期。有时候,这是使用不太常见的日期格式的结果,因此它们看起来可能不错。一些国家将该月份放在首位,而不是一天,这可能会混淆批量插入。

如果日期很好,您可以尝试做的另一件事是使用Format文件。

-1

插入不插入数据时工作将数据作为varchar,稍后将数据转换为DATETIME。

+0

使用不合适的类型是一个非常严重的错误。大块插入没有损坏。它可以导入日期没有问题。 –