Функции по работе с датами – ROUND и TRUNC

Функции по работе с датами – 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;

Leave a Reply

Your email address will not be published. Required fields are marked *