Функции ADD_MONTHS, MONTHS_BETWEEN, LAST_DAY и NEXT_DAY
В посте рассматриваются однострочные функции по работе с датами: MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY и LAST_DAY.
Функция MONTHS_BETWEEN возвращает числовое значение, представляющее количество месяцев между двумя заданными значениями даты. Синтаксис функции:
MONTHS_BETWEEN (первая дата, вторая дата)
Примеры использования функции MONTHS_BETWEEN.
Пример 1.
SELECT months_between ('20-SEP-2020' , '20-JAN-2020') FROM dual;
Пример 2.
SELECT months_between ('20-JAN-2020' , '20-SEP-2020') FROM dual;
Пример 3.
SELECT months_between ('20-SEP-2020', '04-JAN-2020') FROM dual;
Функция ADD_MONTHS возвращает дату, рассчитанную путем добавления к указанному значению даты указанного числа месяцев (целой части, если указанное число нецелое). Синтаксис функции:
ADD_MONTHS (дата, количество месяцев)
Примеры использования функции ADD_MONTHS.
Пример 1.
SELECT add_months('04-JAN-2020', 1) FROM dual;
Пример 2.
SELECT add_months('31-DEC-2020', 2.5) FROM dual;
Пример 3.
SELECT add_months('31-MAY-2020', 2.7) FROM dual;
Пример 4.
SELECT add_months('04-JAN-2020', -12) FROM dual;
Функция NEXT_DAY возвращает дату, когда в следующий раз наступит указанный день недели. Синтаксис функции:
NEXT_DAY (дата, день недели)
Примеры использования функции NEXT_DAY.
Пример 1.
SELECT next_day('15-01-2020', 'Monday') FROM dual;
Пример 2.
SELECT next_day('15-01-2020', 'Sunday') FROM dual;
Функция LAST_DAY возвращает дату последнего дня месяца, к которому относится указанная дата. Синтаксис функции:
LAST_DAY (дата)
Пример использования функции LAST_DAY:
SELECT last_day('01-JAN-2020') FROM dual;