当我编写SQL脚本以使用DateTime字段查找日期范围时,例如在'01 / 01/2018'和'07 / 31/2018'之间,我总是这样做:
start_date >='2018-01-01' and end_date < '2018-08-01'
我这样做是为了捕获2018年7月31日以来的所有记录,因为DateTime数据类型带有时间戳。
我正在使用PostGresql的新地方工作,我注意到他们首先转换了所有DateTime字段:
'2018-07-31'::date end_date
然后,他们这样写所有日期范围:
start_date >='2018-01-01' and end_date <='2018-07-31'
通过这种方式将DateTime字段强制转换为Date是否可以返回准确的结果? 我无法对此进行测试,因为这里的所有程序运行都很慢,我现在正在学习系统的工作原理。