extract
-Funktion
Gilt für: Databricks SQL Databricks Runtime
Gibt field
von source
zurück.
Syntax
extract(field FROM source)
Argumente
field
: Ein Schlüsselwort, mit dem der Teil vonsource
ausgewählt wird, der extrahiert werden soll.source
: EinDATE
-,TIMESTAMP
- oderINTERVAL
-Ausdruck.
Gibt zurück
Wenn field
SECOND
ist, einen Wert vom Typ DECIMAL(8, 6)
.
In allen anderen Fällen, ein INTEGER
.
Unterstützte Werte von field
, wenn source
DATE
oder TIMESTAMP
ist:
YEAR
,Y
,YEARS
,YR
,YRS
: Das JahresfeldYEAROFWEEK
: 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“ liegtMONTH
,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 source
INTERVAL
ist (ohne Berücksichtigung der Groß-/Kleinschreibung):
YEAR
,Y
,YEARS
,YR
,YRS
: Die Gesamtzahl der Monate / 12MONTH
,MON
,MONS
,MONTHS
: Die Gesamtzahl der Monate % 12DAY
,D
,DAYS
: Der Tage-Teil des IntervallsHOUR
,H
,HOURS
,HR
,HRS
: Wie viele Stunden die Mikrosekunden enthaltenMINUTE
,M
,MIN
,MINS
,MINUTES
: Anzahl an übrigen Minuten nach Abzug der Stunden von den MikrosekundenSECOND
,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