【问题标题】:Changing date format in SSIS在 SSIS 中更改日期格式
【发布时间】:2017-10-15 02:38:43
【问题描述】:

我正在尝试使用 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 中的表达式是什么。如果有人可以帮忙

【问题讨论】:

    标签: mysql oracle ssis date-format


    【解决方案1】:

    我会将它作为日期带入 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)
    

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

    【讨论】: