MONTHS_BETWEEN ФУНКЦИЯ

В этом учебном пособии вы узнаете, как использовать Oracle/PLSQL функцию MONTHS_BETWEEN с синтаксисом и примерами.

Описание

Oracle/PLSQL функция MONTHS_BETWEEN возвращает количество месяцев между date1 и date2.

Синтаксис

Синтаксис Oracle/PLSQL функции MONTHS_BETWEEN:

MONTHS_BETWEEN( date1, date2 )

Параметры или аргументы

date1 и date2 даты, используемые для расчета количества месяцев.

Примечание

  • Функция MONTHS_BETWEEN возвращает numeric значение.
  • Если рассчитывается дробная месяца, функция MONTHS_BETWEEN вычисляет долю на основе 31-дневного месяца.

Применение

Функцию MONTHS_BETWEEN можно использовать в следующих версиях Oracle/PLSQL:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Пример

Рассмотрим несколько примеров функции MONTHS_BETWEEN и изучим, как использовать функцию MONTHS_BETWEEN в Oracle/PLSQL.

Часто задаваемые вопросы

Вопрос:Как посчитать количество лет, месяцев и дней из общего количества дней?

Ответ:
Для этого с помощью Oracle/PLSQL оператора WITH сгенерируем однострочную табличку t состоящую из двух дат — d1 и d2. Затем с помощью Oracle/PLSQL функций MONTHS_BETWEEN, MOD, FLOOR и ADD_MONTHS составим запрос, который и вернет значение лет, месяцев и дней между d2 текущей датой и d1 на 484 дня ранее (вместо d1 можно указать любую дату).

В результате запроса получим 1 год, 3 месяца и 27 дней. Запрос подойдет для расчета стажа, который считается исходя из даты приема и текущей даты.