PostgreSQL查询不带时区的时间戳会返回不同的结果

PostgreSQL查询不带时区的时间戳会返回不同的结果,postgresql,timestamp,Postgresql,Timestamp,为什么这些查询返回不同的结果 查询A.1 select p.name from properties p where p.timestamp_gmt between '2018-08-06' and '2018-08-07'; 查询A.2 select p.name from properties p where p.timestamp_gmt between DATE '2018-08-06' and DATE '2018-08-07'; 这两个查询返回100条记录,耗

为什么这些查询返回不同的结果

查询A.1

select 
    p.name
from properties p
where p.timestamp_gmt between '2018-08-06' and '2018-08-07';
查询A.2

select 
    p.name
from properties p
where p.timestamp_gmt between DATE '2018-08-06' and DATE '2018-08-07';
这两个查询返回100条记录,耗时不到一秒钟

查询B

select 
    p.name
from properties p
where p.timestamp_gmt >= 'Thu Sep 06 2018' and p.timestamp_gmt < 'Fri Sep 07 2018'; 
选择
p、 名字
从属性p
其中,p.timestamp_gmt>='2018年9月6日星期四'和p.timestamp_gmt<'2018年9月7日星期五';
此查询返回10000条记录,耗时30分钟


请注意,这里唯一的区别是日期比较运算符,它是
=
请注意,查询B
WHERE
子句中的日期范围与前两个A查询中使用的范围不同。我想查看所有三个查询的执行计划,我敢打赌这将部分解释您看到的运行时间。是的,输入错误,让我编辑…您是否使用
explain(ANALYZE)查看了执行计划
?1)
九月到八月
2)
之间的包含在两边。@wildplasser不确定1)中的意思