【PostgreSQL】日付を加算する(timestamp型)
日付を加算する関数
ある日付(=引数1)に対し、指定した日数(=引数2)を加算する関数です。
引数
引数1(date):加算する対象の日付(timestamp)
引数2(integer):加算する日付
返り値
加算した後の日付
コード
CREATE OR REPLACE FUNCTION date_add(
timestamp with time zone,
integer)
RETURNS timestamp with time zone 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(timestamp with time zone, integer)
OWNER TO postgres;
※PostgreSQL12で動作確認済み
実行例
select * from date_add('2019/9/10 09:00:00',5);
--2019-09-15 09:00:00+09
select * from date_add('2019/9/10 09:00:00',-5);
--2019-09-05 09:00:00+09