postgres中是否有任何函数等同于Oracle函数LAST_DAY()。
我需要在postgres(包括月份和年份)获得最后一天
答案 0 :(得分:29)
嗯,在postgres中,似乎没有这样的函数等同于oracle中可用的LAST_DAY()
。
如果您需要,您可以通过以下方式拥有自己的
SELECT (date_trunc('MONTH', now()) + INTERVAL '1 MONTH - 1 day')::date;
CREATE OR REPLACE FUNCTION last_day(date)
RETURNS date AS
$$
SELECT (date_trunc('MONTH', $1) + INTERVAL '1 MONTH - 1 day')::date;
$$ LANGUAGE 'sql'
IMMUTABLE STRICT;
希望这会有所帮助。
答案 1 :(得分:0)
create or replace funCtion last_day(fromdt anyelement)
returns date as
$BODY$
SELECT (date_trunc('MONTH', cast(fromdt as date)) + INTERVAL '1 MONTH - 1 day')::date;
$BODY$
LANGUAGE sql VOLATILE
COST 100;
ALTER FUNCTION last_day(anyelement)
OWNER TO postgres;