【发布时间】:2017-06-19 17:54:47
【问题描述】:
我正在尝试根据同一小时创建的行数生成报告,并且我尝试使用提取函数对行进行分组,但它会更改结果信息,例如:
select
to_char(resolved_time,'YY/MM/DD') Day,
to_char(resolved_time, 'HH24') hour_tmp,
extract(hour from resolved_time) Hour
from RESOLUTION_HISTORY h
where resolved_time >= timestamp '2017-01-01 00:00:00'
and resolved_time < timestamp '2017-01-02 00:00:00'
and modified_by in 'user1'
order by 2;
我的结果看起来像这样:
Day Hour_Tmp Hour
17/01/01 14 20
17/01/01 14 20
17/01/01 14 20
17/01/01 14 20
17/01/01 14 20
17/01/01 14 20
17/01/01 14 20
17/01/01 14 20
17/01/01 15 21
17/01/01 17 23
17/01/01 17 23
17/01/01 18 0
如您所见,解决时间的实际值与提取之间存在差异,试图改变我的会话,但似乎没有帮助。 是否有任何其他选项可以在本地会话中更改此设置?
【问题讨论】:
-
您能否确认列数据类型为
timestamp with time zone(不是普通时间戳)、您查询的值的时区以及执行查询时的会话时区?你的数据库时区呢? -
是的,它是带时区的时间戳