- Kategorien:
DATE_PART¶
Extrahiert die angegebene Datums- oder Zeitkomponente aus einem Datum, einer Uhrzeit oder einem Zeitstempel.
- Alternativen:
EXTRACT, HOUR / MINUTE / SECOND, YEAR* / DAY* / WEEK* / MONTH / QUARTER
Syntax¶
DATE_PART( <date_or_time_part> , <date_or_timestamp_expr> )
DATE_PART( <date_or_time_part> FROM <date_or_time_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¶
Dies ist ein einfaches Beispiel für das Extrahieren eines Teils von DATE:
SELECT DATE_PART(quarter, '2024-04-08'::DATE);
+----------------------------------------+
| DATE_PART(QUARTER, '2024-04-08'::DATE) |
|----------------------------------------|
| 2 |
+----------------------------------------+
Dies ist ein Beispiel für das Extrahieren eines Teils von TIMESTAMP:
SELECT TO_TIMESTAMP(
'2024-04-08T23:39:20.123-07:00') AS "TIME_STAMP1",
DATE_PART(year, "TIME_STAMP1") AS "EXTRACTED YEAR";
+-------------------------+----------------+
| TIME_STAMP1 | EXTRACTED YEAR |
|-------------------------+----------------|
| 2024-04-08 23:39:20.123 | 2024 |
+-------------------------+----------------+
Dies ist ein Beispiel für das Konvertieren von TIMESTAMP in die Anzahl der Sekunden seit Beginn der Unix-Epoche (Mitternacht, 1. Januar 1970):
SELECT TO_TIMESTAMP(
'2024-04-08T23:39:20.123-07:00') AS "TIME_STAMP1",
DATE_PART(epoch_second, "TIME_STAMP1") AS "EXTRACTED EPOCH SECOND";
+-------------------------+------------------------+
| TIME_STAMP1 | EXTRACTED EPOCH SECOND |
|-------------------------+------------------------|
| 2024-04-08 23:39:20.123 | 1712619560 |
+-------------------------+------------------------+
Dies ist ein Beispiel für das Konvertieren von TIMESTAMP in die Anzahl der Millisekunden seit Beginn der Unix-Epoche (Mitternacht, 1. Januar 1970):
SELECT TO_TIMESTAMP(
'2024-04-08T23:39:20.123-07:00') AS "TIME_STAMP1",
DATE_PART(epoch_millisecond, "TIME_STAMP1") AS "EXTRACTED EPOCH MILLISECOND";
+-------------------------+-----------------------------+
| TIME_STAMP1 | EXTRACTED EPOCH MILLISECOND |
|-------------------------+-----------------------------|
| 2024-04-08 23:39:20.123 | 1712619560123 |
+-------------------------+-----------------------------+