BULK插入日期出错

时间:2013-07-13 09:53:28

标签: sql sql-server sql-server-2008

我正在尝试将BULK插入到sql server 2008中,并且我在Date列上收到错误。

    SET DATEFORMAT dmy

BULK
INSERT CustomSelection
FROM 'c:\test.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)

第2行第1列(日期)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。

这是.csv文件中的日期:2012年8月18日。 任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你的日期格式无效,这是sql server给出错误的方式。

要解决这些类型的问题,您必须遵循以下步骤: 1.在数据库表中导入csv,表列必须是varchar,它不应该是datetime。 2.然后运行以下查询以查找无效日期。

select inserteddate from table where isdate(inserteddate) = 0 

3。然后手动或通过更新查询更新这些日期:

UPDATE TABLE1
SET INSERTEDDATE = CONVERT(DATETIME , '18/08/2012' , 105)
WHERE INSERTEDDATE = '18/08/2012'