現在、OracleデータベーススキーマをPostgresに移行する作業を進めています。その一部として、タイムゾーンに基づいてタイムスタンプを生成するOracleのカスタムユーティリティ関数を変換する必要があります。しかし、OracleとPostgresから得られた値は1時間ごとに変化するようです。oracleとpostgresのタイムスタンプの差異
オラクル:
SELECT (to_timestamp_tz('20300714 235959 CET','YYYYMMDD HH24MISS TZR') - to_timestamp_tz('19700101 000000 GMT','YYYYMMDD HH24MISS TZR'))
as foo FROM dual;
利回り22109 21:59:59.000000
のPostgres:
select ('20300714 235959'::timestamp AT TIME ZONE 'CET') - ('19700101 000000'::timestamp AT TIME ZONE 'GMT') as foo;
が22109日夜09時59分59秒
を生み出します私はgこの違いの理由は夏時間のためですが、わかりません。誰もこの問題で私を助けることができます。 私はPostgres v9.6とOracle 12cを使用しています。