【发布时间】:2015-11-27 18:43:53
【问题描述】:
如何在 PostgreSQL 中实现 add_months ?? 就像 oracle ADD_MONTHS 返回日期一样。 前任。 ADD_MONTHS(hire_date,1)
【问题讨论】:
-
hire_date + interval '1' month
标签: postgresql
如何在 PostgreSQL 中实现 add_months ?? 就像 oracle ADD_MONTHS 返回日期一样。 前任。 ADD_MONTHS(hire_date,1)
【问题讨论】:
hire_date + interval '1' month
标签: postgresql
【讨论】:
CREATE FUNCTION add_months(start DATE, months INT) RETURNS DATE AS
$$
SELECT (start + (months || ' months')::INTERVAL)::DATE
$$
LANGUAGE sql IMMUTABLE
【讨论】:
在 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
【讨论】: