Udostępnij za pośrednictwem


Funkcja date_part

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Wyodrębnia część daty, znacznika czasu lub interwału.

Składnia

date_part(fieldStr, expr)

Argumenty

  • fieldStrSTRING: literał.
  • expr: wyrażenie DATE, TIMESTAMPlub INTERVAL .

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