- Kategorien:
EXTRACT¶
Extrahiert die angegebene Datums- oder Zeitkomponente aus einem Datum, einer Uhrzeit oder einem Zeitstempel.
Syntax¶
EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
EXTRACT( <date_or_time_part> , <date_or_timestamp_expr> )
Argumente¶
date_or_time_part
Die Maßeinheit für die Zeit. Muss einer der unter Unterstützte Datums- und Uhrzeitkomponenten aufgeführten Werte sein (z. B.
month
). Der Wert kann ein Zeichenfolgenliteral oder ohne Anführungszeichen sein (z. B.'month'
odermonth
).Wenn
date_or_time_part
den Wertweek
(oder eine seiner Varianten) hat, wird die Ausgabe vom Sitzungsparameter WEEK_START gesteuert.Wenn
date_or_time_part
den Wertdayofweek
oderyearofweek
(oder eine seiner Varianten) hat, wird die Ausgabe durch die Sitzungsparameter WEEK_OF_YEAR_POLICY und WEEK_START gesteuert.
Weitere Details einschließlich Beispielen finden Sie unter Kalenderwochen und Wochentage.
date_or_timestamp_expr
Ein Datum, eine Uhrzeit, ein Zeitstempel oder ein Ausdruck, das bzw. der sich zu einem Datum, einer Uhrzeit oder einem Zeitstempel auswerten lässt.
Rückgabewerte¶
Gibt einen Wert vom Datentyp NUMBER zurück.
Nutzungshinweise¶
Wenn date_or_timestamp_expr
ein DATE-Wert ist, werden die folgenden date_or_time_part
-Werte derzeit nicht unterstützt:
epoch_millisecond
epoch_microsecond
epoch_nanosecond
Andere Datums- und Zeitangaben (einschließlich epoch_second
) werden unterstützt.
Beispiele¶
Angeben des year
-Teils, um das Jahr aus einem Zeitstempel zu extrahieren:
SELECT EXTRACT(year FROM TO_TIMESTAMP('2024-04-10T23:39:20.123-07:00')) AS YEAR;
+------+
| YEAR |
|------|
| 2024 |
+------+
Verwenden von EXTRACT mit der Funktion DECODE und dem Teil dayofweek
, um den vollständigen Namen des aktuellen Wochentags zurückzugeben:
SELECT DECODE(EXTRACT(dayofweek FROM SYSTIMESTAMP()),
1, 'Monday',
2, 'Tuesday',
3, 'Wednesday',
4, 'Thursday',
5, 'Friday',
6, 'Saturday',
7, 'Sunday') AS DAYOFWEEK;
+-----------+
| DAYOFWEEK |
|-----------|
| Thursday |
+-----------+
Bemerkung
Die Ausgabe hängt von dem Wert ab, der von der Funktion SYSTIMESTAMP zurückgegeben wird, wenn Sie die Abfrage ausführen. Sie können auch die Funktion DAYNAME verwenden, um den Namen des Wochentages mit drei Buchstaben aus dem angegebenen Datum oder Zeitstempel zu extrahieren.