2017-11-10 9 views
0

(Oracle DB内)DATE列には、日付の格納場所があります。 すべての日付値はTimeZone Europe/Berlinにあります。アプリケーションのTimeZoneをUTCに変更すると、これは既存の日付をEurope/BerlinからUTCに変換する必要があることを意味します。OracleSQLは、日付フィールドを別のタイムゾーンに変換します

Oracleでこれをネイティブに行う方法はありますか?

+0

、しかしください。正確なテーブル定義、サンプルデータ、および期待される出力を表示 – OldProgrammer

答えて

2

使用FROM_TZ(timestampvalue, timezone)特定の時間帯にタイムスタンプにタイムスタンプを変換すると、あなたはUTCタイムゾーンに変換し、これまでに戻ってそれをキャストするAT TIME ZONE 'UTC'を使用することができます:おそらく

SELECT CAST(
     FROM_TZ(
      CAST(your_column AS TIMESTAMP), 
      'Europe/Berlin' 
     ) 
     AT TIME ZONE 'UTC' 
     AS DATE 
     ) 
FROM your_table; 
関連する問題