【PostgreSQL】日付を加算する(Date型)
日付を加算する関数
ある日付(=引数1)に対し、指定した日数(=引数2)を加算する関数です。
引数
引数1(date) :加算する対象の日付
引数2(integer):加算する日付
返り値
加算した後の日付
コード
CREATE OR REPLACE FUNCTION date_add(
date,
integer)
RETURNS date AS
$BODY$
declare
d_target alias for $1; --引数1:加算する対象の日付
i_add_day alias for $2; --引数2:加える日数
begin
return d_target + cast(cast(i_add_day as character varying) || ' days' as INTERVAL);
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION date_add(date, integer)
OWNER TO postgres;
※ PostgreSQL12で動作確認済み
実行例
--'2019/9/5'に5日加算する
select * from date_add('2019/9/10',5); --2019/9/15
--'2019/9/5'に-5日加算する(=5日前を計算する)
select * from date_add('2019/9/10',-5); --2019/9/5