更改SSIS中的日期格式
Changing date format in SSIS
我正在尝试使用 SSIS 将数据从 chinook db(oracle) 移动到 chinook DW(mysql)。
目前在我的 oracle 数据库中我有一个日期格式 (07-AUG-11) 并且想要,因为我需要输入 MYSQL(2011-08-07) 但我无法做到。
我尝试在 oracle 中使用它进行转换
select to_char(to_date(InvoiceDate,'DD-MON-YY'), 'YYYY-MM-DD') from CHINOOK.invoice;
并尝试在 SSIS 中使用表达式(从 to_char 开始)但没有用。
(我也尝试过其他表达式,但 SSIS 抛出错误说该函数不存在)
我只需要知道SSIS.If中的表达式是什么任何人都可以提供帮助
我会将其作为日期引入 SSIS,使用(在 Oracle 中):
TO_DATE(InvoiceDate,'DD-MON-YY')
然后如果你需要将它转换成'yyyy-MM-dd'格式的字符串,你可以使用类似(在SSIS中)的东西:
(DT_WSTR, 4) YEAR(DateField) + "-" + RIGHT("0" + (DT_WSTR, 2) MONTH(DateField), 2) + "-" + RIGHT("0" + (DT_WSTR, 2) DAY(DateField), 2)
尽管如此,如果您的目标是日期字段,那么它应该直接进入而不需要任何 processing/transformation 因为它已经是日期了。
我正在尝试使用 SSIS 将数据从 chinook db(oracle) 移动到 chinook DW(mysql)。 目前在我的 oracle 数据库中我有一个日期格式 (07-AUG-11) 并且想要,因为我需要输入 MYSQL(2011-08-07) 但我无法做到。
我尝试在 oracle 中使用它进行转换
select to_char(to_date(InvoiceDate,'DD-MON-YY'), 'YYYY-MM-DD') from CHINOOK.invoice;
并尝试在 SSIS 中使用表达式(从 to_char 开始)但没有用。 (我也尝试过其他表达式,但 SSIS 抛出错误说该函数不存在)
我只需要知道SSIS.If中的表达式是什么任何人都可以提供帮助
我会将其作为日期引入 SSIS,使用(在 Oracle 中):
TO_DATE(InvoiceDate,'DD-MON-YY')
然后如果你需要将它转换成'yyyy-MM-dd'格式的字符串,你可以使用类似(在SSIS中)的东西:
(DT_WSTR, 4) YEAR(DateField) + "-" + RIGHT("0" + (DT_WSTR, 2) MONTH(DateField), 2) + "-" + RIGHT("0" + (DT_WSTR, 2) DAY(DateField), 2)
尽管如此,如果您的目标是日期字段,那么它应该直接进入而不需要任何 processing/transformation 因为它已经是日期了。