使用SSIS进行日期转换

时间:2015-01-05 09:20:34

标签: ssis sql-server-2008-r2

我正在尝试使用SSIS将Excel数据加载到表中。 在我的excel中,有一栏“TRANSACTION DATE”。

TRANSACTION_DATE IN EXCEL   TRANSACTION_DATE IN TABLE
01/12/2014  2014-01-12 00:00:00.000
01/12/2014  2014-01-12 00:00:00.000
02/12/2014  2014-02-12 00:00:00.000
05/12/2014  2014-05-12 00:00:00.000
05/12/2014  2014-05-12 00:00:00.000
13/12/2014  2014-12-13 00:00:00.000
16/12/2014  2014-12-16 00:00:00.000
16/12/2014  2014-12-16 00:00:00.000
19/12/2014  2014-12-19 00:00:00.000
20/12/2014  2014-12-20 00:00:00.000
22/12/2014  2014-12-22 00:00:00.000
26/12/2014  2014-12-26 00:00:00.000
29/12/2014  2014-12-29 00:00:00.000
31/12/2014  2014-12-31 00:00:00.000
31/12/2014  2014-12-31 00:00:00.000

问题:

如果您在表值中观察前5行,则语法与table的其他值完全不同。它应该是(2014-12-01,2014-12-02 etc ..)。由于此问题,如果我触发查询以将DATEPART(MM,TRANSACTION_DATE)= 12的另一列的值相加,则前5个值将被排除。

表格结构:

TRANSACTION_DATE  DATETIME

SSIS数据转换:

TRANSACTION_DATE DT_DBDATE

1 个答案:

答案 0 :(得分:0)

正在发生的事情是前5个记录以美国格式(MM / DD / YYYY)进行解析,其余记录被解析为DD / MM / YYYY。

检查Excel中单元格的日期时间格式,以确保所有日期的区域设置都一致。