Funkcja date_part
Dotyczy: Databricks SQL Databricks Runtime
Wyodrębnia część daty, znacznika czasu lub interwału.
Składnia
date_part(fieldStr, expr)
Argumenty
fieldStr
STRING
: literał.expr
: wyrażenieDATE
,TIMESTAMP
lubINTERVAL
.
Zwraca
Jeśli fieldStr
element to 'SECOND'
, a DECIMAL(8, 6)
.
We wszystkich innych przypadkach element INTEGER
.
Obsługiwane wartości parametru field
when source
to DATE
lub TIMESTAMP
:
'YEAR'
, ,'Y'
,'YEARS'
,'YRS'
'YR'
: pole roku'YEAROFWEEK'
: rok numerowania tygodniowego ISO 8601, w przypadku którego przypada data/godzina. Na przykład 2005-01-02 jest częścią 53 tygodnia roku 2004, więc wynik to 2004'QUARTER'
,'QTR'
: kwartał (1– 4) roku, w ramach którego przypada data/godzina'MONTH'
, ,'MON'
,'MONTHS'
'MONS'
: pole miesiąca (1–12)'WEEK'
, ,'W'
'WEEKS'
: liczba tygodniowo-tygodniowego roku ISO 8601. Tydzień jest uważany za rozpoczęcie w poniedziałek i tydzień 1 jest pierwszym tygodniem z >3 dni. W systemie numerowania tygodni ISO istnieje możliwość, aby daty z początku stycznia były częścią 52 lub 53 tygodnia poprzedniego roku, a pod koniec grudnia daty będą częścią pierwszego tygodnia następnego roku. Na przykład 2005-01-02 jest częścią 53 tygodnia roku 2004, podczas gdy 2012-12-31 jest częścią pierwszego tygodnia 2013 r.'DAY'
, ,'D'
'DAYS'
: dzień pola miesiąca (1 – 31)'DAYOFWEEK'
,'DOW'
: dzień tygodnia dla daty/godziny jako niedziela(1) do soboty (7)'DAYOFWEEK_ISO'
,'DOW_ISO'
: iso 8601 na podstawie dnia tygodnia dla daty/godziny w poniedziałek(1) do niedzieli(7)'DOY'
: dzień roku (1 – 365/366)'HOUR'
, ,'H'
,'HOURS'
,'HRS'
'HR'
: pole godziny (od 0 do 23)'MINUTE'
, ,'M'
,'MIN'
,'MINUTES'
'MINS'
: pole minut (od 0 do 59)'SECOND'
, ,'S'
,'SEC'
,'SECS'
'SECONDS'
: pole sekund, w tym części ułamkowe
Obsługiwane wartości field
, gdy source
to INTERVAL
(bez uwzględniania wielkości liter):
'YEAR'
,'Y'
, ,'YEARS'
,'YRS'
'YR'
: łączna liczba miesięcy / 12'MONTH'
, ,'MON'
,'MONTHS'
'MONS'
: łączna liczba miesięcy % 12'DAY'
, ,'DAYS'
:'D'
część dni interwału'HOUR'
, ,'H'
,'HOURS'
,'HRS'
'HR'
: ile godzin zawiera mikrosekundy'MINUTE'
, ,'M'
,'MIN'
,'MINUTES'
'MINS'
: ile minut pozostało po kilku godzinach od mikrosekund'SECOND'
, ,'S'
,'SEC'
,'SECS'
'SECONDS'
: ile sekund z ułamkami pozostało po godzinach i minutach od mikrosekund
Funkcja date_part
jest synonimem standardowej funkcji wyodrębniania SQL.
Na przykład date_part('year', CURRENT_DATE)
jest równoważne extract(YEAR FROM CURRENT_DATE)
Przykłady
> 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