Функция Oracle NUMTODSINTERVAL
Как преобразовать любое число в интервал дня во второй литерал?
Функция NUMTODSINTERVAL () используется для преобразования числа в литерал INTERVAL DAY TO SECOND.
Синтаксис:
NUMTODSINTERVAL (n, 'interval_unit')
Параметры:
название | Описание |
---|---|
N | Любое значение NUMBER или выражение, которое можно неявно преобразовать в значение NUMBER. |
interval_unit | Тип данных CHAR, VARCHAR2, NCHAR или NVARCHAR2. Значение для interval_unit указывает единицу n и должно преобразовываться в одно из следующих строковых значений:
interval_unit нечувствителен к регистру. Начальные и конечные значения в скобках игнорируются. |
Относится к:
Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i
Иллюстрированная презентация
Примеры: функция Oracle NUMTODSINTERVAL ()
Следующий SQL-запрос подсчитывает количество сотрудников, принятых на работу одним и тем же менеджером за последние 100 дней с даты его или ее найма.
Пример таблицы: сотрудники
SQL> SELECT manager_id, first_name, hire_date,
2 COUNT(*) OVER (PARTITION BY manager_id ORDER BY hire_date
3 RANGE NUMTODSINTERVAL(100, 'day') PRECEDING) AS t_count
4 FROM employees;;
Пример вывода:
MANAGER_ID FIRST_NAME HIRE_DATE T_COUNT ---------- -------------------- -------------------- ---------- 100 Лекс, 13 января 2001 года 00:00:00 1 100 Ден 07-дек-2002 00:00:00 1 100 Payam 01 мая 2003 года 00:00:00 1 100 Майкл 17-Фев-2004 00:00:00 1 100 Матфея 18 июля 2004 00:00:00 1 100 Джон 01 октября 2004 00:00:00 2 100 Карен 05 января 2005 00:00:00 2 100 Альберто 10 марта 2005 года 00:00:00 2 100 Адам 10 апреля 2005 года 00:00:00 3 100 Neena 21-SEP-2005 00:00:00 1 100 Шанта 10 октября 2005 00:00:00 2 , , ,
Предыдущая: NEXT_DAY
Следующая: NUMTOYMINTERVAL
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code