假设,我有如下数据:
2021-09-10 09:00:00.000+00
2021-09-20 10:00:00.000+00
2021-09-20 11:00:00.000+00
我想从2021-09-20 10am to 2021-09-21 6pm
筛选日期范围?如何编写查询以获取它?
WHERE子句中需要一个范围条件:
select *
from the_table
where the_column >= timestamp '2021-09-20 10:00:00'
and the_column < timestamp '2021-09-21 18:00:00'
timestamp
文字是使用日期/时间文字的ISO标准指定的。因此,时间部分需要以24小时的格式编写。
从您的问题中还不清楚您是否希望在18:00:00
中包含行,或者这是否应该是排除的上限。以上假设为后者。
SELECT *
FROM table
WHERE column BETWEEN '2021-09-20 10:00:00'::timestamp
AND '2021-09-21 18:00:00'::timestamp;