我有一个带有表'token'的postgres数据库,它有'token_id'及其生成的时间
token_id | generated_time
196618 | 2016-10-15 01:02:48.963
196619 | 2016-10-15 01:02:50.569
196620 | 2016-10-15 01:03:12.931
196621 | 2016-10-15 02:03:17.037
196622 | 2016-10-15 02:22:55.782
196623 | 2016-10-15 02:24:57.477
196624 | 2016-10-15 03:23:00
我想要做的是从表中选择当前小时数据,例如当前日期时间 2016-10-15 01:30:15 然后我想选择 2016-10-15 01:00:00和2016-10-15 02:00:00
感谢您的任何建议。
答案 0 :(得分:4)
我想说date_trunc('hour')
可能会有帮助,例如
select token_id, generated_time
from token
where generated_time between date_trunc('hour', current_timestamp) and date_trunc('hour', current_timestamp + interval '1 hour')
答案 1 :(得分:1)
使用date_trunc()
:
where generated_time >= date_trunc('hour', current_timestamp)
实际上假设你的桌子没有未来的时间。更具体的答案是:
where generated_time >= date_trunc('hour', current_timestamp) and
generated_time < date_trunc('hour', current_timestamp) + interval '1 hour'