Функция Oracle EXTRACT (дата / время)
Извлечь дату, время из заданной даты в Oracle
Функция EXTRACT () используется для извлечения значения указанного поля даты и времени из выражения даты / времени или интервала.
Синтаксис:
ВЫПИСКА ({{ГОД | МЕСЯЦ | ДЕНЬ | ЧАС | МИНУТЫ | ВТОРОЙ } | {TIMEZONE_HOUR | TIMEZONE_MINUTE } | {TIMEZONE_REGION | TIMEZONE_ABBR } } FROM {expr} )
Expr может быть любым выражением, которое оценивает тип данных datetime или interval, совместимый с запрошенным полем:
- Если запрашивается ГОД или МЕСЯЦ, выражение должно вычисляться как выражение типа данных ДАТА, TIMESTAMP, TIMESTAMP с зоной времени, TIMESTAMP с локальной зоной времени или ИНТЕРВАЛ ГОДА В МЕСЯЦ.
- Если запрашивается DAY, тогда выражение должно вычисляться как выражение типа данных DATE, TIMESTAMP, TIMESTAMP с зоной времени, TIMESTAMP с зоной локального времени или Интервальный день до второго.
- Если запрашиваются HOUR, MINUTE или SECOND, тогда выражение expr должно соответствовать выражению типа данных TIMESTAMP, TIMESTAMP с зоной времени, TIMESTAMP с локальной зоной времени или промежуточного дня до второго. ДАТА здесь недопустима, потому что Oracle Database обрабатывает его как тип данных ANSI DATE, который не имеет временных полей.
- Если запрошено TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_ABBR, TIMEZONE_REGION или TIMEZONE_OFFSET, то выражение должно вычисляться как выражение типа данных TIMESTAMP с временной зоной или TIMESTAMP с локальной временной зоной.
Относится к:
Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i
Иллюстрированная презентация
Примеры: функция Oracle EXTRACT (datetime) ()
В следующем примере возвращается год 2015.
SQL> SELECT EXTRACT(YEAR FROM DATE '2015-03-03') FROM DUAL;
Пример вывода:
EXTRACT (YEARFROMDATE'2015-03-03' ) --------------------------------- 2015
В следующем примере выбираются все сотрудники, которые были наняты в и после 2008 года:
Пример таблицы: сотрудники
SQL> SELECT first_name,last_name, employee_id, hire_date
2 FROM employees
3 WHERE EXTRACT(YEAR FROM TO_DATE(hire_date, 'DD-MON-RR')) >= 2008
4 ORDER BY hire_date;;
Пример вывода:
FIRST_NAME LAST_NAME EMPLOYEE_ID HIRE_DATE -------------------- ------------------------- ----- ------ --------- Чарльз Джонсон 179 04 января 08 Грант Дугласа 199 13 января 2008 года Маттеа Марвинс 164 24-ЯНВ-08 Eleni Zlotkey 149 29-ЯНВ-08 Жирар Джони 183 03-Фев-08 Хейзел Филтанкер 136 06-FEB-08 Дэвид Ли 165 23-ФЕВ-08 Стивен Маркл 128 08-МАР-08 Сундар Анд 166 24-МАР-08 Амит Банда 167 21-АПР-08 Сундита Кумар 173 21-Апр-08 11 строк выбрано.
Предыдущий: DBTIMEZONE
Далее: FROM_TZ
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code