Округление значения типа «дата-время»
Синтаксис
date_round(< выражение >,< формат >)
< выражение >
– выражение типа «дата-время»;
< формат >
– элемент формата «дата-время»:
{'D' | 'DY' | 'DAY' | 'M' | 'Y' |'HH' | 'HH12'| 'HH24'| 'MI'| 'SS'}
Описание
Округление даты до заданного значения.
Округление по году и месяцу имеет свою специфику, например:
dt:=date_round(sysdate(),"y"); //01.01.2007:00:00:00.00
т.е. выдается день и месяц.
«Округленный» год предлагается выбирать так:
var i int; i:=year(sysdate()); // 2006
Возвращаемое значение
-
< Выражение >
, округленное до заданной точности. -
Тип возвращаемого результата – DATE.
-
Результат при указании
< точность >
'D' зависит от наличия ключа /COMPATIBILITY=ORACLE в команде запуска ядра СУБД:-
значение DATE, округленное до текущего дня, если ключ не задан;
-
значение DATE, округленное до ближайшего дня начала недели, если ключ задан.
-
-
Результат при указании
< точность >
'DY' или 'DAY' будет округлен до ближайшего дня начала недели. -
Если аргумент NULL, результат NULL.
Пример
create or replace procedure date_round_test(in arg char(5)) result date for debug code return date_round(atod("22.08.2015:18:32:55.87"),arg);// end; -- call date_round_test('D'); call date_round_test('Y');
Результат:
Return value = 23.08.2015:00:00:00.00 Return value = 01.01.2016:00:00:00.00