加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

在Oracle中更改TIMESTAMP WITH TIMEZONE的时区组件

发布时间:2021-02-05 12:15:05 所属栏目:站长百科 来源:网络整理
导读:我有一些数据存储在Oracle的TIMESTAMP(6)WITH TIMEZONE列中,但它存储在错误的时区中.按照惯例,数据库中的所有时间戳必须以UTC格式存储,但此数据不正确地保留为EDT.实际值等于正确的UTC值;问题只是它存储为19-JUN-12 12.20.42.000000000 PM AMERICA / NEW_Y

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

解决方法

您真的需要更改存储在数据库中的数据吗?通常,仅转换到不同的时区进行显示就足够了,即

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'

改变所有数据.

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!