【发布时间】:2018-02-21 00:00:55
【问题描述】:
我正在尝试使用批量插入加载 csv 文件。我的 csv 文件有 4 个日期列,我认为这是导致问题的原因。日期格式为DD/MM/YY,如何将其更改为DD/MM/YYYY。我需要将这些日期字段导入date 列而不是varchar。
我正在将此文件加载到 #temptable 中,然后使用以下代码将其插入到数据库表中:
insert into table (a,b,c,d,e)
select a,
b,
convert(date,c,103),
convert(date,d,103),
e
from #temptable
不知道我哪里出错了。任何帮助将不胜感激。
【问题讨论】:
-
临时表中的
c列,是输入日期还是varchar? -
是的,我的 temptable 中的所有列都是 varchar,因为当我尝试使用批量插入并将其直接加载到带有日期列的表中时,它给了我:批量加载数据转换错误(类型不匹配或无效字符对于指定的代码页。这就是为什么我用 Varchar 将其加载到表中,然后使用 convert() 插入到实际表中
标签: sql sql-server csv bulkinsert