date_part
함수
적용 대상: Databricks SQL Databricks Runtime으로 표시됨
날짜, 타임스탬프 또는 간격의 일부를 추출합니다.
구문
date_part(fieldStr, expr)
인수
fieldStr
: 리터럴입니다STRING
.expr
DATE
: ,TIMESTAMP
또는INTERVAL
식입니다.
반환
가 이'SECOND'
면 fieldStr
입니다DECIMAL(8, 6)
.
다른 모든 경우에서는 입니다 INTEGER
.
가 또는 TIMESTAMP
인 경우 source
의 field
지원되는 값입니다DATE
.
'YEAR'
,'Y'
,'YEARS'
,'YR'
,'YRS'
: 연도 필드'YEAROFWEEK'
: datetime이 속하는 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주일은 월요일에 시작하는 것으로 간주되며, 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'
, ,'HRS'
'HR'
: 시간 필드(0 - 23)'MINUTE'
,'M'
,'MIN'
, ,'MINUTES'
'MINS'
: 분 필드(0 - 59)'SECOND'
,'S'
,'SEC'
, ,'SECONDS'
:'SECS'
소수 부분을 포함한 초 필드
가 인 경우 source
INTERVAL
의 field
지원되는 값(대/소문자를 구분하지 않음):
'YEAR'
,'Y'
,'YEARS'
, ,'YRS'
'YR'
: 총 월 / 12'MONTH'
,'MON'
,'MONS'
,'MONTHS'
: 총 월 % 12'DAY'
,'D'
,'DAYS'
: 간격의 일 부분'HOUR'
,'H'
,'HOURS'
, ,'HR'
:'HRS'
마이크로초에 포함된 시간'MINUTE'
,'M'
,'MIN'
, ,'MINUTES'
'MINS'
: 마이크로초에서 몇 시간이 소요된 후 남은 시간'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