我使用的是postgres,我的记录中有date_time列:
"2015-09-01 09:41:15"
当我从pgadmin执行psql查询时:
select * from table where date_time >= '2015-08-31' and date_time <= '2015-09-01'
即使我使用了=符号,也没有显示此特定记录。如果我使用&lt; =&#39; 2015-09-02&#39;它出现了。有没有办法让记录显示在查询中使用&lt; =&#39; 2015-09-01&#39;从它=到被查询的时间?
我的时间栏:
date_time timestamp without time zone DEFAULT '0001-01-01 00:00:00'::timestamp without time zone,
答案 0 :(得分:1)
你忘记了时间。您可以将date_time
字段转换为日期以进行比较(存在性能损失,在大型数据集中可能非常慢):
select * from table
where date_time >= '2015-08-31' and date_time::date <= '2015-09-01'
或者您可以将开始和结束日期转换为时间戳:
select * from table
where date_time >= '2015-08-31' and date_time < ('2015-09-01'::date+1)::timestamp