mysql - 更改 SSIS 中的日期格式

标签 mysql oracle ssis date-format

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

最佳答案

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

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

关于mysql - 更改 SSIS 中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46751177/

相关文章:

sql - sql 中的 union 子句

database - SSIS - 源错误输出(没有行将被发送到错误输出......)

php - 使用php删除mysql中id最高的行

javascript - Angular 发布到 nodejs

c++ - 获取 typedef 结构数组中的行

sql-server - SSIS自定义数据流组件错误的原因 - 无法升级

c# - 如何在Window认证中使用Application.LoadFromSQLServer

mysql - 多个表,同一列,使用where

文本值的mysql总和大小写错误

java - 在搜索中处理单引号