如何在PostgreSQL中实现add_month? 像oracle ADD_MONTHS一样返回日期。 防爆。的 ADD_MONTHS(HIRE_DATE,1)
答案 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