date_part
Funkcja
Dotyczy: Databricks SQL Databricks Runtime
Wyodrębnia część daty, znacznika czasu lub interwału.
Składni
date_part(fieldStr, expr)
Argumenty
fieldStr
STRING
: literał.expr
: wyrażenieDATE
,TIMESTAMP
lubINTERVAL
.
Zwraca
Jeśli fieldStr
jest to 'SECOND'
, a DECIMAL(8, 6)
.
We wszystkich innych przypadkach element INTEGER
.
Obsługiwane wartości w field
przypadku , gdy source
jest 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 (od 1 do 12)'WEEK'
,'W'
,'WEEKS'
: liczba lat 8601 iso 8601 tydzień na podstawie tygodnia. Tydzień jest uważany za początek w poniedziałek i tydzień 1 jest pierwszym tygodniem z >3 dni. W systemie numerowania tygodni ISO istnieje możliwość, aby daty na początku stycznia były częścią 52 lub 53 tygodnia poprzedniego roku, a daty końca grudnia mają być 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'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 oparty dzień tygodnia dla daty/godziny jako 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 (0 – 59)'SECOND'
,'S'
, ,'SEC'
,'SECS'
'SECONDS'
: pole sekund, w tym części ułamkowe
Obsługiwane wartości parametru field
to INTERVAL
source
(bez uwzględniania wielkości liter):
'YEAR'
'Y'
, , ,'YEARS'
,'YRS'
'YR'
: łączna liczba miesięcy / 12'MONTH'
,'MON'
, ,'MONTHS'
'MONS'
: suma miesięcy % 12'DAY'
, ,'D'
:'DAYS'
część dni interwału'HOUR'
,'H'
'HOURS'
,'HR'
'HRS'
: ile godzin zawiera mikrosekundy'MINUTE'
,'M'
, ,'MIN'
,'MINUTES'
'MINS'
: ile minut pozostało po upływie kilku godzin od mikrosekund'SECOND'
,'S'
, ,'SEC'
,'SECS'
'SECONDS'
: ile sekund z ułamkami pozostało po upływie godzin i minut od mikrosekund
Funkcja date_part
jest synonimem standardowej funkcji wyodrębniania SQL.
Na przykład date_part('year', CURRENT_DATE)
jest odpowiednikiem 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