- 카테고리:
EXTRACT¶
날짜, 시간 또는 타임스탬프에서 지정된 날짜 또는 시간 부분을 추출합니다.
구문¶
EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
EXTRACT( <date_or_time_part> , <date_or_timestamp_expr> )
인자¶
date_or_time_part
시간 단위. 지원되는 날짜 및 시간 부분 에 나열된 값 중 하나여야 합니다(예:
month
). 값은 문자열 리터럴이거나 따옴표로 묶지 않을 수 있습니다(예:'month'
또는month
).date_or_time_part
이week
(또는 그 변형)인 경우, 출력은 WEEK_START 세션 매개 변수에 의해 제어됩니다.date_or_time_part
가dayofweek
또는yearofweek
(또는 그 변형)인 경우, 출력은 WEEK_OF_YEAR_POLICY 및 WEEK_START 세션 매개 변수에 의해 제어됩니다.
예를 포함한 자세한 내용은 달력상의 주 및 요일 섹션을 참조하십시오.
date_or_timestamp_expr
날짜, 시간 또는 타임스탬프이거나, 날짜, 시간 또는 타임스탬프로 평가할 수 있는 식이어야 합니다.
반환¶
NUMBER 데이터 타입의 값을 반환합니다.
사용법 노트¶
현재, date_or_timestamp_expr
이 DATE 값인 경우 다음 date_or_time_part
값은 지원되지 않습니다.
epoch_millisecond
epoch_microsecond
epoch_nanosecond
다른 날짜 및 시간 부분 (epoch_second
포함)이 지원됩니다.
예¶
타임스탬프에서 연도를 추출할 year
부분을 지정합니다.
SELECT EXTRACT(year FROM TO_TIMESTAMP('2024-04-10T23:39:20.123-07:00')) AS YEAR;
+------+
| YEAR |
|------|
| 2024 |
+------+
DECODE 함수와 함께 EXTRACT를 사용하고 dayofweek
부분을 사용하여 현재 요일의 전체 이름을 반환합니다.
SELECT DECODE(EXTRACT(dayofweek FROM SYSTIMESTAMP()),
1, 'Monday',
2, 'Tuesday',
3, 'Wednesday',
4, 'Thursday',
5, 'Friday',
6, 'Saturday',
7, 'Sunday') AS DAYOFWEEK;
+-----------+
| DAYOFWEEK |
|-----------|
| Thursday |
+-----------+
참고
출력은 쿼리를 실행할 때 SYSTIMESTAMP 함수가 반환하는 값에 따라 달라집니다. 또한 DAYNAME 함수를 사용하여 지정된 날짜 또는 타임스탬프에서 세 글자로 된 요일 이름을 추출할 수도 있습니다.