5

我有一些数据存储TIMESTAMP(6) WITH TIMEZONE在 Oracle 的列中,但它存储在错误的时区。按照惯例,数据库中的所有时间戳都必须以 UTC 格式存储,但该数据被错误地保存为 EDT。实际值等同于正确的 UTC 值;问题只是它被存储为何19-JUN-12 12.20.42.000000000 PM AMERICA/NEW_YORK时而不是它应该是19-JUN-12 16.20.42.000000000 PM UTC。甲骨文有什么办法可以改变这种情况吗?

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 回答