如何在PostgreSQL中实现add_months?

时间:2015-11-27 08:39:56

标签: postgresql

如何在PostgreSQL中实现add_month? 像oracle ADD_MONTHS一样返回日期。 防爆。的 ADD_MONTHS(HIRE_DATE,1)

3 个答案:

答案 0 :(得分:4)

使用

 hire_date + interval '1 month'

这将只返回一个月添加到hire_date。

有关postgre Date time function

中日期和时间函数的更多参考资料

答案 1 :(得分:1)

在PostgreSQL中,您可以创建一个功能来完成工作

create or replace function ADD_MONTHS(var_dte date,cnt int) returns setof date as
$$
declare
qry text;
begin
qry = format( 'select (''%s''::date + interval ''%s'')::date',var_dte,cnt||' month') ;
RETURN QUERY
     EXECUTE qry;
end
$$
language plpgsql

并调用此函数

select ADD_MONTHS('2015-11-27',1)

结果:

add_months
      date
----------
2015-12-27

在你的情况下

select hire_date
      ,ADD_MONTHS(hire_date,1)
from table_name 

答案 2 :(得分:1)

CREATE FUNCTION add_months(start DATE, months INT) RETURNS DATE AS
$$
  SELECT (start + (months || ' months')::INTERVAL)::DATE
$$
LANGUAGE sql IMMUTABLE