Ron*_*nis 2 oracle timestamp-with-timezone oracle12c
我试图从中提取本地时间timestamp with time zone,但是由于我不熟悉这种数据类型,因此得到了意外的结果。
我期望22作为下面每一行的输出。
with my_data as(
select to_timestamp_tz(ts, 'yyyy-mm-dd hh24:mi:ss tzh:tzm') as tsz
from (select '2017-12-07 22:23:24 +' || lpad(level, 2, '0') || ':00' as ts
from dual connect by level <= 10
)
)
select dbtimezone
,sessiontimezone
,tsz
,extract(hour from tsz)
from my_data;
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我该怎么做才能从带有时区的时间戳中提取本地时间?
从具有时区值的日期时间中提取时,返回的值以UTC为单位。
使用TO_CHAR(tsz, 'HH24')或EXTRACT(hour from cast(tsz as timestamp))如果您想获取当地时间。
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |