我一直在使用postgreSQL。我的表有3列日期,时间和userId。我必须找出给定日期和时间范围之间的记录。由于日期和时间列不同,因此' BETWEEN'子句未提供有效结果
答案 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_column
或time_column
上的索引。您需要在该表达式上创建索引。或者更好:使用定义为timestamp
的单个列。