2017-10-15 165 views
0

我正尝试使用SSIS将数据从chinook db(oracle)移动到chinook DW(mysql)。 目前在我的oracle数据库我有一个日期格式(07年8月11日),并希望因为我需要把MYSQL(2011-08-07),但我无法做到这一点。在SSIS中更改日期格式

我试图在Oracle使用这种转换

select to_char(to_date(InvoiceDate,'DD-MON-YY'), 'YYYY-MM-DD') from CHINOOK.invoice; 

和使用SSIS表达式(从TO_CHAR起)尝试,但没有奏效。 (也有其他的表情我试过,但SSIS抛出错误说该函数不存在)

我只需要知道什么在SSIS.If人表达可以帮助

回答

0

我会使其作为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) 

虽然如果您的目的地是日期字段,那么它应该直接进入,而不进行任何处理/转换,因为它已经是日期了。