PostgreSQL查询时间间隔



我试图查询PostgreSQL数据库的行,其中间隔已从上次运行。此目的的主要列是processed_at作为timestamptz,frequency(以分钟计)作为integer

我失败的操作符,因为没有很多可以一起操作时间戳&整数。

有人能提出一个问题来解决这个问题吗?非常感谢您的帮助

From here日期/时间运算符:

timestamp + interval→timestamp

添加时间戳

时间戳'2001-09-28 01:00' +时间间隔'23 hours'→2001-09-29 00:00:00


select now() + (10::varchar || ' min')::interval;
?column?            
-------------------------------
2021-10-15 09:05:37.927163-07

--Or in your case. If I'm following you are adding the interval.
select processed_at + (frequency::varchar || ' min')::interval;

查询接受minutes的整数值,并将其转换为可添加到时间戳中的分钟间隔。

进一步解释,||是Postgres的连接操作符,::varchar,::interval是转换简写。

我总是忘记日期/时间/间隔的make_*()函数

--A shorter version
select processed_at + make_interval(mins => frequency);

保存所有类型转换。

相关内容

  • 没有找到相关文章

最新更新