postgres db中有没有办法。在区间类型中具有表达式? ,例如我可以执行查询-
select (timestamp '1970-01-01 00:00:00' + interval '1 second' * J0.C3) from T637 J0
现在,我需要能够动态地操纵'1秒'的值,这意味着postgres的'(1 + 2)秒'失败,并且如果它是通过函数派生的“值部分”值,并且该函数的输出是一些整数,我不能在间隔中使用该函数,例如时间间隔func(args) seconds
,如何在postgres db中为“时间间隔”实现这样的动态“值部分”?
make_interval(secs => (1 + 2) * some_column);
interval '(1+2) seconds'
是无效的表达式。但是,interval '1 second' * 2
有效。因此,要获得与'(m+n) seconds'
相等的值,通常将执行以下任一操作:
(interval '1 second' * m) + (interval '1 second' * n)
或
(m+n) * interval '1 second'
同样,如果有一个函数返回一个数值,而我们想要一个该幅度的间隔(以秒为单位),则可以使用以下内容:
func(args) * (interval '1 second')