postgresql上是否有一个函数可以让我获得过去一年的当前日期时间或过去几年的x个数字?
我知道我可以这样做select now() - interval '1 year';
但是在函数中如何将年数放在变量中
x := '2 year'
Is it possible to do this select now() - interval x;
我试过但它给了我错误
答案 0 :(得分:3)
如果你想使用变量,你可以这样做:
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
答案 1 :(得分:1)
对于该日期,您将使用:
select current_date - interval '1 year'
日期/时间:
select now() - interval '1 year'