카테고리:

날짜 및 시간 함수

EXTRACT

날짜, 시간 또는 타임스탬프에서 지정된 날짜 또는 시간 부분을 추출합니다.

대체:

DATE_PART , HOUR / MINUTE / SECOND , YEAR* / DAY* / WEEK* / MONTH / QUARTER

구문

EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
Copy
EXTRACT( <date_or_time_part> , <date_or_timestamp_expr> )
Copy

인자

date_or_time_part

시간 단위. 지원되는 날짜 및 시간 부분 에 나열된 값 중 하나여야 합니다(예: month). 값은 문자열 리터럴이거나 따옴표로 묶지 않을 수 있습니다(예: 'month' 또는 month).

  • date_or_time_partweek (또는 그 변형)인 경우, 출력은 WEEK_START 세션 매개 변수에 의해 제어됩니다.

  • date_or_time_partdayofweek 또는 yearofweek (또는 그 변형)인 경우, 출력은 WEEK_OF_YEAR_POLICYWEEK_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;
Copy
+------+
| 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;
Copy
+-----------+
| DAYOFWEEK |
|-----------|
| Thursday  |
+-----------+

참고

출력은 쿼리를 실행할 때 SYSTIMESTAMP 함수가 반환하는 값에 따라 달라집니다. 또한 DAYNAME 함수를 사용하여 지정된 날짜 또는 타임스탬프에서 세 글자로 된 요일 이름을 추출할 수도 있습니다.