적용 대상:
Databricks SQL
Databricks Runtime
field의 source를 반환합니다.
비고
(TIMESTAMP)에서 TIMESTAMP_LTZ 필드를 추출할 때 결과는 세션 표준 시간대를 기반으로 합니다.
구문
extract(field FROM source)
논쟁
-
field: 추출해야 하는source부분을 선택하는 키워드입니다. -
source: ADATE,TIMESTAMP,TIMESTAMP_NTZ또는INTERVAL식입니다.
반품
field가 SECOND이면 DECIMAL(8, 6)입니다.
다른 모든 경우 INTEGER이다.
field가 source 또는 DATE일 때 TIMESTAMP의 지원되는 값:
-
YEAR,Y,YEARS,YRYRS: 연도 필드 -
YEAROFWEEK: 날짜/시간이 속하는 ISO 8601 주 번호 매기기 연도입니다. 예를 들어 2005-01-02는 2004년 53번째 주에 속하므로 결과는 2004입니다. -
QUARTER,QTR: datetime이 속하는 연도의 분기(1-4) -
MONTH,MON,MONSMONTHS: 월 필드(1 - 12) -
WEEK,WWEEKS: ISO 8601 주 기반 연도의 수입니다. 한 주는 월요일에 시작하는 것으로 간주되고 1주는 3일보다 긴 첫 번째 주입니다. ISO 주 번호 매기기 시스템에서 1월 초 날짜는 전년도의 52번째 또는 53번째 주에 속할 수 있고, 12월 말 날짜는 다음해 첫 번째 주에 속할 수 있습니다. 예를 들어 2005-01-02는 2004년 53번째 주에 속하는 반면, 2012-12-31은 2013년 첫 번째 주에 속합니다. -
DAY,DDAYS: 월 필드의 날짜(1 - 31) -
DAYOFWEEK,DOW: 날짜/시간의 요일을 일요일(1)부터 토요일(7)까지 나타냅니다. -
DAYOFWEEK_ISO,DOW_ISO: 월요일(1)부터 일요일(7)까지 ISO 8601 표준을 기반으로 하는 요일 -
DOY: 연중 날짜(1 - 365/366) -
HOUR,H,HOURS,HR,HRS: 시간 필드(0 - 23) -
MINUTE,M,MIN,MINS,MINUTES: 분 필드(0 - 59) -
SECOND,S,SEC,SECONDS:SECS초 필드(소수 부분 포함)
값 field의 지원되는 경우 source이 INTERVAL일 때 (대소문자 구분 없음):
-
YEAR,Y,YEARS,YRYRS: 총 월 / 12 -
MONTH,MON,MONSMONTHS: 총 월 % 12 -
DAY,DDAYS: 간격의 일 부분 -
HOUR,H,HOURS,HRHRS: 마이크로초에 포함된 시간 -
MINUTE,M,MIN,MINSMINUTES: 마이크로초에서 시간을 빼고 나서 몇 분이 남습니까? -
SECOND,S,SEC,SECONDSSECS: 마이크로초에서 시간을 시간 및 분으로 계산한 후 남은 소수 초의 개수입니다.
요일의 세 글자로 된 약어를 반환하려면 dayname 함수를 사용합니다.
예제
> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
2019
> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT extract(DAY FROM DATE'2019-08-12');
12
> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000