- 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_time_expr> )
Rückgabewerte¶
Der Datentyp des zurückgegebenen Werts ist NUMBER.
Nutzungshinweise¶
date_or_time_part
muss einer der in Unterstützte Datums- und Uhrzeitkomponenten aufgeführten Werte sein.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_time_expr
kann ein Datum, eine Uhrzeit oder ein Zeitstempel sein.
Beispiele¶
Dies ist ein einfaches Beispiel für das Extrahieren eines Teils von DATE
:
SELECT DATE_PART(QUARTER, '2013-05-08'::DATE); +----------------------------------------+ | DATE_PART(QUARTER, '2013-05-08'::DATE) | |----------------------------------------| | 2 | +----------------------------------------+
Dies ist ein Beispiel für das Extrahieren eines Teils von TIMESTAMP
:
SELECT TO_TIMESTAMP('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1", DATE_PART(YEAR, "TIME_STAMP1") AS "EXTRACTED YEAR"; +-------------------------+----------------+ | TIME_STAMP1 | EXTRACTED YEAR | |-------------------------+----------------| | 2013-05-08 23:39:20.123 | 2013 | +-------------------------+----------------+
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('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1", DATE_PART(EPOCH_SECOND, "TIME_STAMP1") AS "EXTRACTED EPOCH SECOND"; +-------------------------+------------------------+ | TIME_STAMP1 | EXTRACTED EPOCH SECOND | |-------------------------+------------------------| | 2013-05-08 23:39:20.123 | 1368056360 | +-------------------------+------------------------+
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('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1", DATE_PART(EPOCH_MILLISECOND, "TIME_STAMP1") AS "EXTRACTED EPOCH MILLISECOND"; +-------------------------+-----------------------------+ | TIME_STAMP1 | EXTRACTED EPOCH MILLISECOND | |-------------------------+-----------------------------| | 2013-05-08 23:39:20.123 | 1368056360123 | +-------------------------+-----------------------------+