Freigeben über


extract-Funktion

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

Gibt field von source zurück.

Syntax

extract(field FROM source)

Argumente

  • field: Ein Schlüsselwort, mit dem der Teil von source ausgewählt wird, der extrahiert werden soll.
  • source: Ein DATE-, TIMESTAMP- oder INTERVAL-Ausdruck.

Gibt zurück

Wenn fieldSECOND 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

Beispiele

> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
 2019

> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT extract(DAY FROM DATE'2019-08-12');
 12

> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
 1.000001

> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
 30.001000