为什么这些查询返回不同的结果?
查询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';
此查询返回10000条记录,耗时30分钟。
请注意,这里唯一的区别是日期比较运算符,即>=
和<
。我不知道查询timestamp without time zone
结果应该一样吗? A 和 B 查询是否有根本区别?