Функция LAST_DAY в postgres - программирование

Функция LAST_DAY в postgres

Есть ли какая-либо функция в postgres, эквивалентная функции Oracle LAST_DAY().

Мне нужно получить последний день в postgres (включая месяц и год)

4b9b3361

Ответ 1

Ну, в postgres, похоже, нет такой функции, эквивалентной LAST_DAY(), доступной в oracle.

Если вам нужно, вы можете использовать свои собственные следующие способы:

Выберите запрос

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;

Надеюсь, это поможет.

Ответ 2

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;