我的数据库配置了dbtimezone=+2:00
:
当我的应用程序发送具有时区的日期时,Oracle 是否会自动将日期转换为该日期并将其dbtimezone
存储在列中?
当我的应用程序要求输入字段日期时,Oracle 是否会自动将其转换为应用程序时区?
为了与业务规则保持一致,我想将其更改dbtimezone
为 UTC。所以我发出了alter database set time_zone='UTC'
命令,我重新启动了 oracle 服务器,现在select dbtimezone from dual;
命令返回“UTC”。
但是,数据库中的所有字段日期都没有改变(从 GMT+2 到 UTC 没有变化 -2 小时)。当我询问 sysdate 时,它返回 GMT+2 日期......我尝试将我的 SQL Developer 配置时区更改为 UTC,但它没有改变任何东西。我是否有 Oracle 会话参数的问题,在显示之前将我的数据库数据转换为 GMT+2?
最后,有没有人有一个好的做法来做这个改变?(将数据库时区和现有日期更改为新时区)。