2017-10-15 4 views
0

J'essaie de déplacer des données de chinook db (oracle) vers chinook DW (mysql) en utilisant SSIS. Actuellement dans mon oracle db j'ai un format de date (07-AUG-11) et je veux depuis que je dois mettre en MYSQL (2011-08-07) mais je ne suis pas capable de le faire.Modification du format de la date dans SSIS

J'ai essayé d'utiliser ce dans l'oracle pour la conversion

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

et essayé d'utiliser l'expression (à partir to_char partir) en SSIS, mais n'a pas fonctionné. (il y a aussi d'autres expressions que j'ai essayé, mais SSIS plaids erreur indiquant que la fonction n'existe pas)

J'ai juste besoin de savoir ce qui est l'expression dans tout le monde SSIS.If pourrait aider

Répondre

0

je porterais dans SSIS comme une date, en utilisant (Oracle):

TO_DATE(InvoiceDate,'DD-MON-YY') 

Ensuite, si vous avez besoin de le convertir en une chaîne avec le format 'aaaa-MM-dd', vous pouvez utiliser quelque chose comme (SSIS):

(DT_WSTR, 4) YEAR(DateField) + "-" + RIGHT("0" + (DT_WSTR, 2) MONTH(DateField), 2) + "-" + RIGHT("0" + (DT_WSTR, 2) DAY(DateField), 2) 

Bien que, si votre destination est un champ de date, alors il devrait aller directement sans aucun traitement/transformation car c'est déjà une date.