我在postgresql表中有一个timestampz
列,我希望检索位于特定时间范围内的条目
我尝试使用
SELECT * FROM table where date BETWEEN '2012-01-01' AND '2012-01-05'
但是上面的查询无法检索到指定日期内的某些行,所以我尝试了类似这样的
SELECT * FROM table WHERE date BETWEEN '2012-01-01 00:00:00' AND '2012-01-05 23:59:59'
这很好用,但有没有更好的方法来激活它?
答案 0 :(得分:5)
您可以尝试:
SELECT *
FROM table
where date::DATE BETWEEN '2012-01-01'::DATE AND '2012-01-05'::DATE
答案 1 :(得分:5)
我认为不是更好但更干净。
select *
from table
where
date >= '2012-01-01'
and
date < '2012-01-05'::date + 1
它将涵盖'2012-01-05 23:59:59.999999'