date_part
기능
적용 대상: Databricks SQL Databricks Runtime
날짜, 타임스탬프 또는 간격의 일부를 추출합니다.
구문
date_part(fieldStr, expr)
인수
-
fieldStr
:STRING
리터럴. -
expr
: ADATE
,TIMESTAMP
또는INTERVAL
식입니다.
반품
fieldStr
가 'SECOND'
이면 DECIMAL(8, 6)
입니다.
다른 모든 경우 INTEGER
에서는 .
source
가 DATE
또는 TIMESTAMP
일 때 지원되는 field
의 values.
-
'YEAR'
,'Y'
,'YEARS'
,'YR'
'YRS'
: 연도 필드 -
'YEAROFWEEK'
: 날짜/시간이 속하는 ISO 8601 주 번호 매기기 연도입니다. 예를 들어 2005-01-02는 2004년 53번째 주에 속하므로 결과는 2004입니다. -
'QUARTER'
,'QTR'
: datetime이 속하는 연도의 분기(1-4) -
'MONTH'
,'MON'
,'MONS'
'MONTHS'
: 월 필드(1 - 12) -
'WEEK'
,'W'
'WEEKS'
: ISO 8601 주 기반 연도의 수입니다. 한 주는 월요일에 시작하는 것으로 간주되고 1주는 3일보다 긴 첫 번째 주입니다. ISO 주 번호 매기기 시스템에서 1월 초 날짜는 전년도의 52번째 또는 53번째 주에 속할 수 있고, 12월 말 날짜는 다음해 첫 번째 주에 속할 수 있습니다. 예를 들어 2005-01-02는 2004년 53번째 주에 속하는 반면, 2012-12-31은 2013년 첫 번째 주에 속합니다. -
'DAY'
,'D'
'DAYS'
: 월 필드의 날짜(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'
초 필드(소수 부분 포함)
source
가 INTERVAL
일 때 field
에서 지원되는 values (대/소문자 구분 없음):
-
'YEAR'
,'Y'
,'YEARS'
,'YR'
'YRS'
: 총 월 / 12 -
'MONTH'
,'MON'
,'MONS'
'MONTHS'
: 총 월 % 12 -
'DAY'
,'D'
'DAYS'
: 간격의 일 부분 -
'HOUR'
,'H'
,'HOURS'
,'HR'
'HRS'
: 마이크로초에 포함된 시간 -
'MINUTE'
,'M'
,'MIN'
,'MINS'
'MINUTES'
: 마이크로초에서 몇 시간이 소요된 후 남은 시간(분) -
'SECOND'
,'S'
,'SEC'
,'SECONDS'
'SECS'
: 마이크로초에서 몇 시간 및 몇 분이 소요된 후 분수가 남은 시간(초)입니다.
이 date_part
함수는 SQL 표준 추출 함수의 동의어입니다.
예를 들어 date_part('year', CURRENT_DATE)
다음과 같습니다. extract(YEAR FROM CURRENT_DATE)
예제
> SELECT date_part('YEAR', TIMESTAMP'2019-08-12 01:00:00.123456');
2019
> SELECT date_part('Week', TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT date_part('day', DATE'2019-08-12');
224
> SELECT date_part('SECONDS', TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT date_part('Months', INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT date_part('seconds', INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000