Postgresql 过去一年的当前日期时间



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'

相关内容

  • 没有找到相关文章

最新更新