구문
extract_datetime :: =
그림에 대한 설명 extract_datetime.gif
목적
EXTRACT
는 다음 값을 추출하고 반환합니다. datetime 또는 간격 값 표현식에서 지정된 datetime 필드. TIMEZONE_REGION
또는 TIMEZONE_ABBR
(약어)를 추출 할 때 반환되는 값은 적절한 시간대 이름 또는 약어를 포함하는 문자열입니다. 다른 값을 추출 할 때 반환 된 값은 그레고리력에 있습니다. 시간대 값이있는 datetime에서 추출 할 때 반환되는 값은 UTC입니다. 시간대 이름 및 해당 약어 목록을 보려면 V$TIMEZONE_NAMES
동적 성능보기를 쿼리하세요.
이 함수는 매우 유용 할 수 있습니다. 아래의 첫 번째 예와 같이 큰 테이블입니다.
참고 :
일광 절약 기능을 사용하려면 시간대 지역 이름이 필요합니다. 지역 이름은 두 개의 시간대 파일에 저장됩니다. 기본 시간대 파일은 성능을 최대화하기 위해 가장 일반적인 시간대 만 포함하는 작은 파일입니다. 시간대가 기본 파일에없는 경우 ORA_TZFILE
환경 변수를 통해 전체 (더 큰) 파일에 대한 경로를 제공 할 때까지 일광 절약 시간 제가 지원되지 않습니다.
일부 날짜 / 시간 필드와 날짜 / 시간 또는 간격 값 표현식의 조합으로 인해 모호성이 발생합니다. 이러한 경우 Oracle 데이터베이스는 UNKNOWN
를 반환합니다 (추가 정보는 다음 예제 참조).
추출하는 필드는
또는 interval_value_expr
. 예를 들어 YEAR
, MONTH
및 DAY
만
값. 마찬가지로 TIMESTAMP
iv id = “에서만 TIMEZONE_HOUR
및 TIMEZONE_MINUTE
를 추출 할 수 있습니다. 870c73796f “>
TIME
ZONE
데이터 유형.
참고 항목 :
-
ORA_TZFILE
환경 변수 설정에 대한 자세한 내용은 Oracle 데이터베이스 관리자 가이드 -
Oracle 두 파일의 시간대 지역 이름의 전체 목록은 데이터베이스 세계화 지원 가이드.
-
“Datetime / Interval Arithmetic”(
datetime_value_expr
및interval_value_expr
-
동적 성능보기에 대한 정보는 Oracle Database Reference
예
다음 예는 oe.orders
테이블에서 매월 주문 수를 반환합니다.
다음 예는 1998 년을 반환합니다.
SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998
다음 예 샘플 테이블에서 hr.employees
1998 년 이후에 고용 된 모든 직원을 선출합니다.
다음 예제는 모호성을 가져 오므로 Oracle은 UNKNOWN
:
시간대 숫자 오프셋이 표현식에 제공되고 해당 숫자 오프셋이 둘 이상의 시간대 지역에 매핑 될 수 있기 때문에 모호성이 발생합니다.