Freigeben über


date_part-Funktion

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Extrahiert einen Teil des Datums, Zeitstempels oder Intervalls

Syntax

date_part(fieldStr, expr)

Argumente

  • fieldStr: Ein STRING-Literal.
  • expr: Ein DATE-, TIMESTAMP- oder INTERVAL-Ausdruck.

Gibt zurück

Wenn fieldStr'SECOND' ist, einen Wert vom Typ DECIMAL(8, 6). In allen anderen Fällen, ein INTEGER.

Unterstützte Werte von field, wenn sourceDATE oder TIMESTAMP ist:

  • 'YEAR', 'Y', 'YEARS', 'YR', 'YRS': Das Jahresfeld
  • 'YEAROFWEEK': Das Jahr mit der ISO 8601-Wochennummerierung, in das der Wert „datetime“ fällt. Beispielsweise ist die Angabe „2005-01-02“ Teil der 53. Woche des Jahres 2004, sodass das Ergebnis 2004 ist.
  • 'QUARTER', 'QTR': Das Quartal (1 bis 4) des Jahres, in dem der Wert „datetime“ liegt
  • 'MONTH', 'MON', 'MONS', 'MONTHS': Das Monatsfeld (1 bis 12)
  • 'WEEK', 'W', 'WEEKS': Die Wochennummer des ISO 8601 wochenbasierten Kalenders Eine Woche beginnt an einem Montag, und Woche 1 ist die erste Woche mit mehr als 3 Tagen. Im ISO-Wochennummerierungssystem ist es möglich, dass eine Datumsangabe Anfang Januar Teil der 52. oder 53. Woche des vorherigen Jahres ist, während Datumsangaben Ende Dezember in der ersten Woche des nächsten Jahres liegen können. Beispielsweise ist die Angabe „2005-01-02“ Teil der 53. Woche des Jahres 2004, während „2012-12-31“ Teil der ersten Woche des Jahres 2013 ist.
  • 'DAY', 'D', 'DAYS': Der Tag des Monatsfelds (1 bis 31)
  • 'DAYOFWEEK', 'DOW': Der Wochentag von „datetime“ mit Sonntag (1) bis Samstag (7)
  • 'DAYOFWEEK_ISO', 'DOW_ISO': Der Wochentag von „datetime“ nach ISO 8601 mit Montag (1) bis Sonntag (7)
  • 'DOY': Der Tag des Jahres (1 bis 365/366)
  • 'HOUR', 'H', 'HOURS', 'HR', 'HRS': Das Stundenfeld (0 bis 23)
  • 'MINUTE', 'M', 'MIN', 'MINS', 'MINUTES': Das Minutenfeld (0 bis 59)
  • 'SECOND', 'S', 'SEC', 'SECONDS', 'SECS': Das Sekundenfeld, inklusive Nachkommastellen

Unterstützte Werte von field, wenn sourceINTERVAL ist (ohne Berücksichtigung der Groß-/Kleinschreibung):

  • 'YEAR', 'Y', 'YEARS', 'YR', 'YRS': Die Gesamtzahl der Monate / 12
  • 'MONTH', 'MON', 'MONS', 'MONTHS': Die Gesamtzahl der Monate % 12
  • 'DAY', 'D', 'DAYS': Der Tage-Teil des Intervalls
  • 'HOUR', 'H', 'HOURS', 'HR', 'HRS': Wie viele Stunden die Mikrosekunden enthalten
  • 'MINUTE', 'M', 'MIN', 'MINS', 'MINUTES': Anzahl an übrigen Minuten nach Abzug der Stunden von den Mikrosekunden
  • 'SECOND', 'S', 'SEC', 'SECONDS', 'SECS': Anzahl der verbleibenden Sekunden einschließlich Nachkommastellen nach Abzug der Stunden und Minuten von den Mikrosekunden

Die Funktion date_part ist ein Synonym für die SQL-Standardfunktion extract.

Zum Beispiel ist date_part('year', CURRENT_DATE) äquivalent zu extract(YEAR FROM CURRENT_DATE)

Beispiele

> 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