postgresql 上是否有一个函数可以让我获取过去一年的当前日期时间或 x 过去几年的数量?我知道我可以select now() - interval '1 year';
做到这一点,但是在一个函数中,我如何将年数放入变量中
x := '2 year'
Is it possible to do this select now() - interval x;
我试过了,但它给了我错误
如果你想使用变量,你可以这样做:
CREATE OR REPLACE FUNCTION func(input integer)
RETURNS TIMESTAMP WITHOUT TIME ZONE AS
$BODY$
declare
result TIMESTAMP WITHOUT TIME ZONE;
begin
select now() - (input || ' years')::interval into result;
return result;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
对于日期,您将使用:
select current_date - interval '1 year'
对于日期/时间:
select now() - interval '1 year'