postgres中的LAST_DAY函数

时间:2013-01-09 05:51:48

标签: postgresql

postgres中是否有任何函数等同于Oracle函数LAST_DAY()。

我需要在postgres(包括月份和年份)获得最后一天

2 个答案:

答案 0 :(得分:29)

嗯,在postgres中,似乎没有这样的函数等同于oracle中可用的LAST_DAY()

如果您需要,您可以通过以下方式拥有自己的

选择查询

SELECT (date_trunc('MONTH', now()) + INTERVAL '1 MONTH - 1 day')::date;

plsql函数

        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;