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

标签 sql 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

关于sql - 过去一年的 Postgresql 当前日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37390881/

相关文章:

sql - 楼层时间戳精确到秒

c# - 指定的转换对于 sql server 查询无效

postgresql - Sqoop安装从postgresql导出和导入

sql - 在 SSRS 查询中显示从日期开始的年月

使用字符串值变量的双向频率表的 SQL

c# - 如何通过代码将表值加载到 datagridview 中,并使用 rowheader click 事件对其进行编辑?

MySql表性能优化

java - 如何确定 SOLR 索引的字段类型?

ruby-on-rails - 确定 postgres 中是否存在大量行的有效方法

ruby-on-rails - 在没有自动递增 ID 的情况下为模型使用嵌套属性