查询以获取两个日期和时间之间的记录

时间:2017-06-19 06:22:44

标签: postgresql

我一直在使用postgreSQL。我的表有3列日期,时间和userId。我必须找出给定日期和时间范围之间的记录。由于日期和时间列不同,因此' BETWEEN'子句未提供有效结果

1 个答案:

答案 0 :(得分:1)

通过将时间添加到日期,将两列合并为一个时间戳:

select *
from some_table
where date_column + time_column 
         between timestamp '2017-06-14 17:30:00' and timestamp '2017-06-19 08:26:00';

请注意,这不会使用date_columntime_column上的索引。您需要在该表达式上创建索引。或者更好:使用定义为timestamp的单个列。