SSIS:将日期字段从文本文件导入SQL表的规则是什么

时间:2015-06-05 11:01:43

标签: sql datetime ssis

我在| SSIS 2012 中创建了一个包。该软件包基本上连接到预定义位置的文本文件,并将数据从文本文件加载到SQL数据库表。我在目标SQL表中有一个DOB字段,它是DATE TYPE,它返回错误:转换失败,日期超出范围。

我没有运气使用CAST或CONVERT函数转换DOB列:

  

CONVERT(date,DOB,103)

我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果要将varchar值转换为datetime,则应使用CAST()或CONVERT()函数 https://msdn.microsoft.com/ru-ru/library/ms187928.aspx

答案 1 :(得分:0)

我的输入文件中有一些关于DOB列的错误数据。例如,DOB:100-01-01,2995-05-24;我试图使用CONVERT函数转换这些日期,它返回错误。

所以,我只是使用下面的查询选择只有有效DOB日期的记录,然后在这种情况下我可以转换DOB而没有任何错误:

SELECT * FROM MyTableTest WHERE ISDATE(dob)<> 1