postgres select time on time列生成输出错误

时间:2016-04-27 06:38:06

标签: postgresql psql

我使用的是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,

1 个答案:

答案 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