Использование Функций с Датами

В примере на рисунке функция ADD_MONTHS добавляет один месяц к предоставленному значению даты “31-JAN-96” и возвращает "29-FEB-96".

Использование Функций с Датами

Функция распознает 1996 год как високосный год и, поэтому, возвращается последний день февраля. Если Вы изменяете входное значение даты на "31-JAN-95", функция возвращает "28-FEB-95".

Например, выведите на экран номер сотрудника, дату приема, число месяцев занятости, дату приема плюс 6 месяцев, первую пятницу после даты приема и последний день месяца приема для всех сотрудников, которые были приняты на работу менее 150 месяцев назад.

SELECT employee_id, hire_date, MONTHS_BETWEEN (SYSDATE, hire_date) TENURE, ADD_MONTHS (hire_date, 6) REVIEW, NEXT_DAY (hire_date, 'FRIDAY'), LAST_DAY(hire_date)
FROM employees WHERE MONTHS_BETWEEN (SYSDATE, hire_date) < 150;

Использование Функций ROUND и TRUNC с Датами

Предположим, что SYSDATE = '25-JUL-03':

Использование Функций  ROUND и TRUNC с Датами

Функции ROUND и TRUNC могут использоваться для числовых значений и дат. Когда они используются с датами, эти функции округляют или усекают дату к указанной модели формата. Поэтому, Вы можете округлять даты к самому близкому году или месяцу. Если модель формата является месяцем, даты 1-15 результируются к первому дню текущего месяца. Даты 16-31 результируются к первому дню следующего месяца. Если модель формата является годом, месяцы 1-6 дают в результате 1 января текущего года. Месяцы 7-12 результируются к 1 января следующего года.

Пример:

Сравнение дат приема всех сотрудников, которые начали работать в 1997. Вывод на экран номера сотрудника, даты приема и начала месяца, используя функции TRUNC и ROUND.

    SELECT employee_id, hire_date,
ROUND(hire_date, 'MONTH'), TRUNC(hire_date, 'MONTH')
FROM employees
WHERE hire_date LIKE '%97';

Далее: Использование Функции NULLIF

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)