作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在其中一台 Oracle 数据库服务器中,当我触发“Select dbtimezone from dual”时,它显示“+01:00”,这是否意味着在夏季时钟会提前一小时?。在另一台服务器上显示“+00:00”是否意味着数据库服务器设置为 GMT ?但我在 oracle pl/sql 中使用 sysdate。客户端说 Aix 服务器在 DST 上,这是否意味着数据库服务器将在时钟更改后采用 AIX 服务器设置?
如何解决这个问题。
最佳答案
答案是:视情况而定。
您的数据库总共有 三 时区
SESSIONTIMEZONE
ALTER SESSION SET TIME_ZONE=...
更改此设置随时。它与结果相关
CURRENT_DATE
LOCALTIMESTAMP
CURRENT_TIMESTAMP
CAST({TIMESTAMP/DATE without any timezone} AS TIMESTAMP WITH {LOCAL} TIME ZONE)
默认
SESSIONTIMEZONE
可以通过环境变量设置
ORA_SDTZ
或(在 Windows 上)通过注册表项
HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\ORA_SDTZ
(对于 32 位客户端),分别为
HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\ORA_SDTZ
(对于 64 位客户端)。
DBTIMEZONE
TIMESTAMP WITH LOCAL TIME ZONE
相关。数据类型列并定义存储格式。
SYSDATE
的时区或
SYSTIMESTAMP
!!!
DBTIMEZONE
如果数据库包含带有
TIMESTAMP WITH LOCAL TIME ZONE
的表,则在您的数据库上column 并且该列包含数据。否则可以用
ALTER DATABASE SET TIME_ZONE='...';
更改.直到数据库关闭并重新启动后,更改才会生效。
DBTIMEZONE
在创建数据库时设置。如果在创建数据库时未提供时区,则 Oracle 默认使用服务器操作系统的时区。
SYSDATE
SYSTIMESTAMP
SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual;
查询, 例如。
关于oracle - 如何在 Oracle 数据库中处理夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29271224/
我是一名优秀的程序员,十分优秀!