Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

ユリウス日など、DATE型の変換(SQLServer2000→PostgreSQL)

SQLServer2000から、PostgreSQLへのデータ移行を検証しています。

 

その際、既存のDBでは、日付を3パターンで保持しています。

それらを、扱いやすいデータ型としてPostgreSQLへ移行したいです。

①UNIXTIME(1970-01-01 9:00:00)からの経過秒数→"yyyy/MM/dd hh:mm:ss"型で移行

②ユリウス通日→"yyyy/MM/dd"型で移行

③0:00:00 からの経過秒数→"hh:mm:ss"で移行

 

①に関しては、SQLServerからselectする際のSQL文で対応予定ですが、talendにあわせたよりよい方法がありますか。

 現在:select dateadd(s,unix_second ,'1970-01-01 9:00:00')

 

②に関して、例えば実際のデータが"2458128"の場合は"2018/01/09"として保存したいのですが、

ちょうどいいやり方がみつかりません。

 

③何か適したやり方はありますか。

Labels (1)
2 Replies
msminek
Creator
Creator

お世話になっております。

 

Talend で日時を操作する場合、ご参考までに、

 

1. データベースの機能で変換する

2. Java Development Kit の Date クラスを使う

https://docs.oracle.com/javase/8/docs/api/java/util/Date.html

https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html

3. commons-lang など Java のライブラリを利用する

https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/time/DateUti...

4. TalendDate ルーチンを利用する

https://help.talend.com/reader/lqV2ftgSbYSEBU9Bwsd61w/WOps3pxAcYNI5osbYMbEbA

 

といった方法があります。適切に利用すれば概ね上から順に速く、下から順に便利、といったところでしょうか。

 

ご参考になれば幸いです。

Anonymous
Not applicable
Author

ありがとうございました!

参考にさせていただきます。