Функции по работе с датами – ROUND и TRUNC
Функция имеет входное и выходное значение. Входное значение функции называется аргументом. Ноль или более аргументов может быть передано на вход функции в качестве данных для обработки. В данном примере a, b, c являются входными аргументами функции F:
F( a, b, c, …) = результат.
Функции могут быть вложенной частью другой функции, например,
F1 (a, b, F2 (x, y), d),
где F2,
принимает два входных параметра x и y, и образует третий из четырех параметров функции F1. Функции могут работать со всеми доступными типами данных. Наиболее часто используемыми являются символьные, дата и числовые данные.
В Oracle есть два типа функций: однострочные и многострочные функции. Однострочные функции возвращают результат для каждой строки, а многострочные один результат для множества строк. В данном посте рассматриваются следующие функции по работе с датами – ROUND и TRUNC. Существует несколько типов однострочных функций, такие как символьные, числовые, дата, преобразования и общие. Вышеперечисленные функции относятся к функциям по работе с датами. О других функциях по работе с датами можно прочитать в предыдущем посте.
Функции по работе с датами – ROUND и TRUNC.
Функция ROUND даты выполняет операцию округления значения на основе указанного формата точности даты. Возвращаемое значение округляется в большую или меньшую сторону до ближайшего формата точности даты. Функция даты ROUND принимает один обязательный и один опциональный параметр. Форматы точности даты включают в себя век (CC), год (YYYY), квартал (Q), месяц (MM), неделя (W), день (DD), часы (HH) и минуты (MI). Ее синтаксис:
ROUND (дата, формат точности даты)
Примеры использования функции ROUND.
Первый пример:
SELECT round(to_date('02-JUN-2020','DD-MON-YYYY'), 'w') WEEK, round(to_date('17-JUN-2020','DD-MON-YYYY'), 'month') MONTH, round(to_date('07-JUL-2020','DD-MON-YYYY'), 'year') YEAR FROM dual;
Второй пример:
SELECT round(to_date('05-JUN-2020','DD-MON-YYYY'), 'w') WEEK, round(to_date('05-JUN-2020','DD-MON-YYYY'), 'month') MONTH, round(to_date('05-JUN-2020','DD-MON-YYYY'), 'year') YEAR FROM dual;
Функция TRUNC для даты выполняет операцию усечения значения даты на основе заданного формата точности даты. Функция даты TRUNC принимает один обязательный и один опциональный параметр. Ее синтаксис:
TRUNC (дата, формат точности даты)
Примеры использования функции TRUNC.
Первый пример:
SELECT trunc(to_date('02-JUN-2020','DD-MON-YYYY'), 'w') WEEK, trunc(to_date('17-JUN-2020','DD-MON-YYYY'), 'month') MONTH, trunc(to_date('07-JUL-2020','DD-MON-YYYY'), 'year') YEAR FROM dual;
Другой пример использования функции TRUNC.
SELECT trunc(to_date('05-JUN-2020','DD-MON-YYYY'), 'w') WEEK, trunc(to_date('05-JUN-2020','DD-MON-YYYY'), 'month') MONTH, trunc(to_date('05-JUN-2020','DD-MON-YYYY'), 'year') YEAR FROM dual;