다음을 통해 공유


extract 기능

적용 대상:예시 표시됨 Databricks SQL 예시 표시됨 Databricks Runtime

fieldsource를 반환합니다.

비고

(TIMESTAMP)에서 TIMESTAMP_LTZ 필드를 추출할 때 결과는 세션 표준 시간대를 기반으로 합니다.

구문

extract(field FROM source)

논쟁

  • field: 추출해야 하는 source 부분을 선택하는 키워드입니다.
  • source: A DATE, TIMESTAMP, TIMESTAMP_NTZ또는 INTERVAL 식입니다.

반품

fieldSECOND이면 DECIMAL(8, 6)입니다. 다른 모든 경우 INTEGER이다.

fieldsource 또는 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의 지원되는 경우 sourceINTERVAL일 때 (대소문자 구분 없음):

  • 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