с Firebird 4.0 ваша версия: любая

LAST_DAY

Версии сервера

2.53.04.05.06.0
−−ДаДаДа

Доступно в

DSQL, PSQL

Формат

LAST_DAY(OF <period> FROM date_or_timestamp)

<period> ::= YEAR | QUARTER | MONTH | WEEK
ПараметрОписание
date_or_timestampВыражение типа DATE или TIMESTAMP [WITH | WITHOUT] TIME ZONE

Тип результата: DATE или TIMESTAMP соответствующей разновидности.

Описание

Функция LAST_DAY возвращает последний день указанного периода — года, квартала, месяца или недели — для заданной даты или отметки времени.

Тип результата соответствует типу аргумента. При передаче TIMESTAMP возвращаемое значение сохраняет временную часть исходной отметки.

Период задаётся ключевым словом после OF:

Обратите внимание: последним днём недели считается суббота — в соответствии с тем, что возвращает EXTRACT с частью WEEKDAY.

Функция удобна для вычисления границ отчётных периодов, дат окончания подписок, биллинга и других задач, где нужна дата конца периода, содержащего заданную дату. Обратная операция — FIRST_DAY.

Пример

SELECT LAST_DAY(OF MONTH FROM current_date) FROM rdb$database;
SELECT LAST_DAY(OF YEAR FROM current_timestamp) FROM rdb$database;
SELECT LAST_DAY(OF WEEK FROM date '2017-11-01') FROM rdb$database;

См. также

FIRST_DAY, EXTRACT, Математические операции с датой

Источник

Руководство по языку SQL СУБД Firebird 5.0 (sim1984 / ibase.ru, Public Documentation License)

Обсуждение