DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Функции даты и времени

Аргументы функций даты и времени имеют тип DATE. За исключением функции        которая возвращает значение типа NUMBER, все функции возвращают значения типа DATE. В этом разделе рассматриваются также арифметические операции над датами. Функции даты и времени описываются в следующей таблице.
ADD_MONTHS(d, х)
Возвращает дату плюс х месяцев. Аргумент х может быть любым целым числом. Если в получаемом месяце число дней меньше, чем в месяце d, то возвращается последний день месяца-результата. Если число дней не меньше, то день месяца-результата и день месяца d совпадают. Временные компоненты даты d и результата одинаковы.
CURRENTDATE        
Возвращает текущую дату во временной зоне сеанса как значение типа DATE. Эта функция аналогична SYSDATT за исключением того, что SYSDATE не зависит от временной зоны текущего сеанса.
CURRENTJIMESTAMP
Возвращает текущую дату во временной зоне сеанса как значение WITH TIMEZ0NE.
Если задан параметр precision (точность), он представляет десятичную точность возвращаемого числа секунд; по умолчанию используется 6.
DBTIMEZONE
Возвращает временную зону базы данных. Используется такой же формат, как и в операторе CREATE DATABASE или в самом последнем операторе ALTER DATABASE.
EXTRACT({YEAR. MONTH, DAY,
HOUR, MINUTE, SECOND,  
TIMEZONE HOUR,
TIMEZONE_MINUTE,
TIMEZONE REGION,
TIMEZONE_ABBR} FROM
datetime_or_interval)
Возвращает выбранные данные из параметра datetime_or_interval, который должен быть выра­жением типа DATE, DATETIME или INTERVAL Запрашиваемое поле должно быть допустимым -например, нельзя извлечь TIMEZONE из значения DATE. Если поле недопустимо, Oracle* будет порождать ошибку "ORA-30076: invalid extract field for extract source".
LAST_DAY(d)
Возвращает последний день месяца, содержащего d. Эту функцию можно применять для определения количества дней, оставшихся в текущем месяце.
LOCALTIMESTAMP
Возвращает текущую дату во временной зоне сеанса как значение типа TIMESTAMP. Если определен параметр precision, он представляет десятичную точность числа возвращаемых секунд; по умолчанию используется 6. LOCALTIMESTAMP возвращает значение TIMESTAMP, в то время как CURRENTJIMESTAMP возвращает значение TIMESTAMP WITH TIMEZONE.
MONTHS_BETWEEN
Возвращает число месяцев между датой и датой date2. Если дни в date2 совпада­ют или если обе даты являются последними днями своих месяцев, то результат представляет собой целое число. В противном случае результат будет содержать дробную часть (в отноше­нии к 31-дневному месяцу).
NEW_TIME
Возвращает дату и время часового пояса zone2 для даты и времени часового пояса zonel, заданных значением d. Zone 1 и zone2 — это строки символов, их возможные значения приведены в таблице 5.1. В Oracle можно определить дополнительные имена временных зон с помощью представления v$timezone_names.
NEXT_DAY
Возвращает в string дату первого дня, наступающего после даты d. Строка string указывает день недели на языке текущего сеанса. Временной компонент возвращаемого значения тот же, что и временной компонент d. Регистр символов строки значения не имеет.
ROUND
Округляет дату d до единицы измерения, указанной в format. Форматы, применяемые в функциях ROUND и TRUNC, описаны в таблице 5.2. Если формат не указан, принимается формат по умолчанию 'DD', который округляет d до ближайшего дня.
SESSIONTIMEZONE
Возвращает часовой пояс текущего сеанса. Возвращаемый тип является строкой символов, представляющей либо смещение часового пояса, либо региональное название часового пояса. Формат (если указан) тот же самый, что применяется в последнем операторе ALTER SESSION.
SYS_EXTRACT_UTC(
Возвращает время в UTC (Универсальное координированное время, ранее — Среднее время по Гринвичу) из предоставленного параметра datetime, который должен включать в себя часовой пояс.
SYSDATE
Возвращает текущие дату и время в формате типа DATE. Аргументов нет. При использовании в распределенных SQL-операторах функция SYSDATE возвращает дату и время локальной базы данных.
SYSTIMESTAMP
Возвращает текущие дату и время в формате типа TIMESTAMP WITH TIMEZONE.
При использовании в распределенных SQL-операторах SYSTIMESTAMP возвращает дату
и время локальной базы данных.
TRUNC
Возвращает дату d, усеченную до единицы измерения, указанной с помощью format. Применяются те же форматы, что и в функции ROUND (см. таблицу 5.2). Если formaf опущен, принимается формат по умолчанию 'DD', который усекает d до ближайшего дня.
TZ_OFFSET
Возвращает в виде строки символов смещение между заданным часовым поясом timezone и UTC. Аргумент timezone можно определить либо как название часового пояса (см. таблицу 5.1 или представление v$timezone_names), либо как смещение в формате +/-НН:МГ. Также могут использоваться функции SESSIONTIMEZONE и DBTIMEZONE. 

Арифметические операции с датами и временем
Выполнение арифметических операций над датами (d). датами и време­нем (dt), интервалами (г) и числами (га) описывается в таблице 5.3. Обра­тите внимание, что при вычитании одной даты из другой результатом является число.
Примеры использования арифметических операций с датами и време­нем можно найти в документации Oracle.
 


миниатюрная джинсовая юбка







jAntivirus