小编典典

使用两个列值进行查询以创建范围

sql

我有一个带有开始时间时间戳列和代表分钟的长度整数列的表。我希望能够做这样的事情:

SELECT * FROM table t 
    WHERE t.start_time + interval 't.length minutes' < '2011-10-21';

但这是行不通的。有什么办法可以从两个列的值中获取新的时间戳吗?

我正在运行PostgreSQL的8.3版本


阅读 157

收藏
2021-04-15

共1个答案

小编典典

SELECT *
FROM   table 
WHERE  (start_time + interval '1 min' * length_minutes) < '2011-10-21 0:0'::timestamp;

笔记

  • 只需将您integer的时间间隔乘以1分钟,然后将其添加到中timestamp
  • 将与timestamp进行比较会稍快一些timestamp。必须date将A强制转换为timestamp(自动)。
2021-04-15