Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
お世話になっております。
InputDB→tMap→OutputDBでデータを移行するジョブを作成しております。
そのtMapの中でDate型をDateTime型に変換したいのですが、やり方が分かる方がいらっしゃいましたら教えていただきたいです。
使っていらっしゃるデータベース、コンポーネントとそのスキーマ、データベースマッピングの定義が分からないので、間違えていたら申し訳ありません。
> 変換は、TIMESTAMPからDATETIMEへの変換です。
TIMESTAMP 型も DATETIME 型もデータベースのデータ型をおっしゃっていると思います。
Talend の世界に入るときに、それらはすべて Java のデータ型に変換されます。
スキーマをデータベースから取り込んで、変更していない場合は、メタデータマッピングファイルの記載に従ってデータ型が設定されています。
ファイルメニューのプロジェクトの設定から、一般情報、TalendTypeのメタデータと辿りますと、そのプロジェクトに適用されるメタデータマッピングファイルを参照することができます。
たとえば、MySQLであれば、mapping_Mysql.xml になります。
その中では、Talend の Date 型(id_Date)に対応するデータベースのデータ型として、DATE, DATETIME, TIME, YEAR, TIMESTAMP が列挙されています。これらのデータベースのデータ型は、Talend 内ではすべて Date 型のカラムとして取り扱われます。
つまり、
TIMESTAMP→ Talend Date 型 → DATETIME
となり、特に変換の処理などは必要なかったのではないでしょうか。
なお、Talend の Date 型は java.util.Date クラスです。日付と時刻の両方を持つことができます。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Date.html
ご参考になりましたら幸いです。