5

Oracleの列に格納されているデータがありTIMESTAMP(6) WITH TIMEZONEますが、間違ったタイムゾーンに格納されています。慣例により、DB 内のすべてのタイムスタンプは UTC で保存する必要がありますが、このデータは間違って EDT として保持されていました。実際の値は正しい UTC 値と同等です。問題は単に、それが本来19-JUN-12 12.20.42.000000000 PM AMERICA/NEW_YORKあるべきときに保存されていること19-JUN-12 16.20.42.000000000 PM UTCです。Oracleでこれを変更する方法はありますか?

4

1 に答える 1

8

データベースに保存されているデータを本当に変更する必要がありますか?通常は、表示用に別のタイムゾーンに変換するだけで十分です。

SELECT <<your_timestamp_column>> AT TIME ZONE 'UTC'
  FROM <<your table>>

もちろん、必要に応じて、

UPDATE <<your table>>
   SET <<your timestamp column>> = <<your timestamp column>> AT TIME ZONE 'UTC'

すべてのデータを変更します。

于 2012-06-19T18:08:27.283 に答える