| Печать Открыть версию интерактивной справки в формате PDF

#### Функции даты/времени календаря Функции даты/времени календаря служат для преобразования данных в типах данных, соответствующих дате, времени и метке времени (тип данных 'метка времени' является сочетанием даты и времени). ### Current_Date Возвращает текущую дату. Дата определяется компьютером. Значение не содержит компонента времени. Синтаксис: CURRENT_DATE ### ### Current_Time Возвращает текущее время. Время определяется компьютером. Это значение не содержит компонент даты. Примечание. Данная функция позволяет получить текущее время в процессе выполнения отчета. Использование этой функции вместе с предметной областью аналитики дает возможность избежать кэширования отчета, снижающего производительность. Синтаксис: CURRENT_TIME (n) где:
n | Любое целое число, представляющее число цифр, определяющих точность, с которой отображается дробная часть секунд. Аргумент не является обязательным; если аргумент не указан, функция возвращает значение с точностью, заданной по умолчанию.
### Current_TimeStamp Возвращает текущую дату/метку времени. Штамп времени определяется компьютером. Примечание. Данная функция позволяет получить текущее время в процессе выполнения отчета. Использование этой функции вместе с предметной областью аналитики дает возможность избежать кэширования отчета, снижающего производительность. Синтаксис: CURRENT_TIMESTAMP (n) где:
n | Любое целое число, представляющее число цифр, определяющих точность, с которой отображается дробная часть секунд. Аргумент не является обязательным; если аргумент не указан, функция возвращает значение с точностью, заданной по умолчанию.
### Day_Of_Quarter Возвращает число (в диапазоне от 1 до 92), соответствующее дню квартала для указанной даты. Синтаксис: DAY_OF_QUARTER (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### DayName Возвращает название дня недели (на английском языке) для указанной даты. Синтаксис: DAYNAME (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### DayOfMonth Возвращает число, соответствующее дню месяца, для указанной даты. Синтаксис: DAYOFMONTH (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### DayOfWeek Возвращает число от 1 до 7, соответствующее дню недели, для указанной даты. Число 1 соответствует воскресенью, число 7 - субботе. Синтаксис: DAYOFWEEK (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### DayOfYear Возвращает число от 1 до 366, соответствующее дню года, для указанной даты. Синтаксис: DAYOFYEAR (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### Час Возвращает число от 0 до 23, соответствующее часу для указанного времени. Например, 0 соответствует 12 AM, 23 соответствует 11 PM. Синтаксис: HOUR (time_expression) где:
time_expression | Любое выражение, преобразуемое во время.
### Минута Возвращает число от 0 до 59, соответствующее минуте для указанного времени. Синтаксис: MINUTE (time_expression) где:
time_expression | Любое выражение, преобразуемое во время.
### Месяц Возвращает число от 1 до 12, соответствующее месяцу для указанной даты. Синтаксис: MONTH (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### Month_Of_Quarter Возвращает число от 1 до 3, соответствующее месяцу в квартале для указанной даты. Синтаксис: MONTH_OF_QUARTER (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### MonthName Возвращает название месяца (на английском языке) для указанной даты. Синтаксис: MONTHNAME (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### Сейчас Возвращает текущую метку времени. Функция NOW эквивалентна функции CURRENT_TIMESTAMP. Примечание. Данная функция позволяет получить текущее время в процессе выполнения отчета. Использование этой функции вместе с предметной областью аналитики дает возможность избежать кэширования отчета, снижающего производительность. Синтаксис: NOW () ### ### Quarter_Of_Year Возвращает число от 1 до 4, соответствующее кварталу года для указанной даты. Синтаксис: QUARTER_OF_YEAR (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### Секунда Возвращает число от 0 до 59, соответствующее секундам для указанного времени. Синтаксис: SECOND (time_expression) где:
time_expression | Любое выражение, преобразуемое во время.
### TimestampAdd Функция TimestampAdd прибавляет указанное число интервалов к указанной метке времени. Возвращается одна метка времени. Синтаксис: TimestampAdd (interval, integer_expression, timestamp_expression) где:
интервал | Указанный интервал. Допустимые значения: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
integer_expression | Любое выражение, преобразуемое в целое число. Представляет число интервалов, которое требуется добавить.
timestamp_expression | Метка времени, являющееся основой для вычисления.
Если в качестве аргументов этой функции передается целочисленное выражение null или выражение-метка времени null, эта функция возвращает значение null. В простейшем сценарии эта функция прибавляет указанное значение интервала (integer_expression) к компоненту метки времени, соответствующему интервалу. Прибавление недели приводит к прибавлению семи дней, а прибавление квартала - к прибавлению трех месяцев. Отрицательные целочисленные значения приводят к вычитанию (прошедшему времени в результате). Переполнение указанного компонента (например, превышение значения 60 секунд, 24 часов, 12 месяцев и т. п.) вызывает прибавление соответствующей величины к следующему компоненту. Например, при прибавлении значения к компоненту дня в метке времени данная функция отслеживает переполнение с учетом количества дней в конкретном месяце (включая високосные годы, когда в феврале 29 дней). При прибавлении компонента месяца к метке времени эта функция проверяет, что результирующая метка времени имеет допустимое число дней для компонента "день". Например, при прибавлении 1 месяца к метке времени 2000-05-31 в результате не получится 2000-06-31, поскольку в июне нет 31 дня. Эта функция уменьшает компонент "день" до последнего дня месяца, в данном примере - 2000-06-30. Аналогичная ситуация возникает при прибавлении к компоненту года для метки времени с компонентом месяца, равным февралю, и компонентом дня, равным 29 (последним днем февраля в високосном году). Если результирующая метка времени не попадает в високосный год, данная функция уменьшает компонент дня до 28. Примеры работы функции TimestampAdd: В следующем примере кода запрашивается метка времени, получаемая в результате прибавления 3 дней к значению 2000-02-27 14:30:00. Поскольку 2000 - високосный год, эта функция возвращает метку времени 2000-03-01 14:30:00. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) В следующем примере кода запрашивается результирующая метка времени, когда 7 месяцев прибавляются к 1999-07-31 0:0:0. При этом возвращается метка времени 2000-02-29 00:00:00. Обратите внимание на уменьшение компонента "день" до 29, поскольку в феврале меньшее число дней. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) В следующем примере кода запрашивается результирующая метка времени, когда 25 минут прибавляется к 2000-07-31 23:35:00. При этом возвращается метка времени 2000-08-01 00:00:00. Обратите внимание на распространение переполнения до компонента "месяц". TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) ### ### TimeStampDiff Функция TimestampDiff возвращает общее количество указанных интервалов между двумя метками времени. Синтаксис: TimestampDiff (interval, timestamp_expression1, timestamp_expression2) где:
интервал | Указанный интервал. Допустимые значения: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
timestamp_expression1 | Метка времени, вычитаемая из второй метки времени.
timestamp_expression2 | Вторая метка времени. timestamp_expression1 вычитается из этой метки времени для определения разности.
Если этой функции передается выражение-метка времени null, возвращается значение null. Эта функция сначала определяет компонент метки времени, который соответствует параметру интервала. Например, SQL_TSI_DAY соответствует компоненту "день", а SQL_TSI_MONTH соответствует компоненту "месяц". Эта функция анализирует компоненты высшего порядка обеих меток времени для вычисления числа интервалов для каждой метки времени. Например, если указанный интервал соответствует компоненту "месяц", функция вычисляет общее число месяцев для каждой метки времени путем сложения компонента "месяц" и увеличенного в 12 раз компонента "год". В заключение функция вычитает общее число интервалов первой метки из общего числа интервалов второй метки. При расчете разницы в днях функция усекает значения времени из обоих выражений меток времени, а затем вычитает значения дат. При вычислении разности в неделях функцией подсчитывается разность в днях, которая делится на семь перед округлением. При вычислении разности в кварталах функцией подсчитывается разность в месяцах, которая делится на три перед округлением. При расчете разницы в годах функция рассчитывает разницу в месяцах и делит ее на двенадцать перед округлением. #### Функция TimestampDiff и пример результатов В следующем примере кода запрашивается результирующая разность в днях между метками времени 1998-07-31 23:35:00 и 2000-04-01 14:24:00. Функция возвращает значение 610. Обратите внимание, что к результату добавляется дополнительный день в связи с високосным годом (2000). TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) ### ### Week_Of_Quarter Возвращает число (от 1 до 13), соответствующее неделе квартала для указанной даты. Синтаксис: WEEK_OF_QUARTER (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### Week_Of_Year Возвращает число (от 1 до 53), соответствующее неделе года для указанной даты. Синтаксис: WEEK_OF_YEAR (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
### Год Возвращает год для указанной даты Синтаксис: YEAR (date_expression) где:
date_expression | Любое выражение, преобразуемое в дату.
Пример. YEAR (CURRENT_DATE)

Опубликовано в Август 2022 | Copyright © Oracle и/или ее дочерние компании, 2005, 2022. Legal Notices.