- Kategorien:
YEAR* / DAY* / WEEK* / MONTH / QUARTER¶
Extrahiert die entsprechende Datumskomponente aus einem Datum oder einem Zeitstempel.
Diese Funktionen sind Alternativen zur Verwendung der Funktion DATE_PART (oder EXTRACT) mit dem entsprechenden Datumsteil (siehe Unterstützte Datums- und Uhrzeitkomponenten).
- Siehe auch:
Syntax¶
YEAR( <date_or_timestamp_expr> )
YEAROFWEEK( <date_or_timestamp_expr> )
YEAROFWEEKISO( <date_or_timestamp_expr> )
DAY( <date_or_timestamp_expr> )
DAYOFMONTH( <date_or_timestamp_expr> )
DAYOFWEEK( <date_or_timestamp_expr> )
DAYOFWEEKISO( <date_or_timestamp_expr> )
DAYOFYEAR( <date_or_timestamp_expr> )
WEEK( <date_or_timestamp_expr> )
WEEKOFYEAR( <date_or_timestamp_expr> )
WEEKISO( <date_or_timestamp_expr> )
MONTH( <date_or_timestamp_expr> )
QUARTER( <date_or_timestamp_expr> )
Nutzungshinweise¶
Funktionsname |
Datumsteil extrahiert aus Eingabedatum/Zeitstempel |
Mögliche Werte |
---|---|---|
YEAR |
Jahr |
Jedes gültige Jahr (z. B. 2017) |
YEAROFWEEK [1] |
Jahr, zu dem die extrahierte Woche gehört |
Jedes gültige Jahr (z. B. 2017) |
YEAROFWEEKISO |
Wie YEAROFWEEK, außer dass ISO-Semantik verwendet wird |
Jedes gültige Jahr (z. B. 2017) |
DAY , DAYOFMONTH |
Tag (Zahl) des Monats |
1 bis 31 |
DAYOFWEEK [1] |
Tag (Zahl) der Woche |
0 bis 7 |
DAYOFWEEKISO |
Wie DAYOFWEEK, außer dass ISO-Semantik verwendet wird |
1 bis 7 |
DAYOFYEAR |
Tag (Zahl) des Jahres |
1 bis 366 |
WEEK, WEEKOFYEAR [1] |
Woche (Zahl) des Jahres |
1 bis 54 |
WEEKISO |
Wie WEEK, außer dass ISO-Semantik verwendet wird |
1 bis 53 |
MONTH |
Monat (Zahl) des Jahres |
1 bis 12 |
QUARTER |
Quartal (Zahl) des Jahres |
1 bis 4 |
[1] Ergebnisse, die von den Werten für die Sitzungsparameter WEEK_OF_YEAR_POLICY und/oder WEEK_START vorgegeben werden.
Einzelheiten zur ISO-Semantik und zu den Parametern finden Sie unter Kalenderwochen und Wochentage.
Beispiele¶
Im Folgenden wird die Verwendung der Funktionen YEAR
, MONTH
, DAY
, DAYOFWEEK
, DAYOFYEAR
und QUARTER
veranschaulicht:
SELECT '2013-05-08T23:39:20.123-07:00'::TIMESTAMP AS tstamp, YEAR(tstamp) AS "YEAR", QUARTER(tstamp) AS "QUARTER OF YEAR", MONTH(tstamp) AS "MONTH", DAY(tstamp) AS "DAY", DAYOFMONTH(tstamp) AS "DAY OF MONTH", DAYOFYEAR(tstamp) AS "DAY OF YEAR"; +-------------------------+------+-----------------+-------+-----+--------------+-------------+ | TSTAMP | YEAR | QUARTER OF YEAR | MONTH | DAY | DAY OF MONTH | DAY OF YEAR | |-------------------------+------+-----------------+-------+-----+--------------+-------------| | 2013-05-08 23:39:20.123 | 2013 | 2 | 5 | 8 | 8 | 128 | +-------------------------+------+-----------------+-------+-----+--------------+-------------+
Im Folgenden wird die Verwendung der Funktionen WEEK
, WEEKISO
, WEEKOFYEAR
, YEAROFWEEK
und YEAROFWEEKISO
veranschaulicht. Der Sitzungsparameter WEEK_OF_YEAR_POLICY gibt an, dass die erste Woche des Jahres jene Woche ist, die den 1. Januar des Jahres enthält.
ALTER SESSION SET WEEK_OF_YEAR_POLICY = 1;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, WEEK(tstamp) AS "WEEK", WEEKISO(tstamp) AS "WEEK ISO", WEEKOFYEAR(tstamp) AS "WEEK OF YEAR", YEAROFWEEK(tstamp) AS "YEAR OF WEEK", YEAROFWEEKISO(tstamp) AS "YEAR OF WEEK ISO" ; +-------------------------+------+----------+--------------+--------------+------------------+ | TSTAMP | WEEK | WEEK ISO | WEEK OF YEAR | YEAR OF WEEK | YEAR OF WEEK ISO | |-------------------------+------+----------+--------------+--------------+------------------| | 2016-01-02 23:39:20.123 | 1 | 53 | 1 | 2016 | 2015 | +-------------------------+------+----------+--------------+--------------+------------------+
Im Folgenden wird auch die Verwendung der Funktionen WEEK
, WEEKISO
, WEEKOFYEAR
, YEAROFWEEK
und YEAROFWEEKISO
veranschaulicht. Der Sitzungsparameter WEEK_OF_YEAR_POLICY gibt an, dass die erste Woche des Jahres jene erste Woche des Jahres ist, die mindestens 4 Tage aus diesem Jahr enthält. (So wird beispielsweise die Woche vom 26. Dezember 2010 bis zum 1. Januar 2011 als letzte Woche des Jahres 2010 und nicht als erste Woche des Jahres 2011 betrachtet, obwohl sie den 1. Januar 2011 enthält, da weniger als die Hälfte der Woche im Jahr 2011 liegt.)
ALTER SESSION SET WEEK_OF_YEAR_POLICY = 0;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, WEEK(tstamp) AS "WEEK", WEEKISO(tstamp) AS "WEEK ISO", WEEKOFYEAR(tstamp) AS "WEEK OF YEAR", YEAROFWEEK(tstamp) AS "YEAR OF WEEK", YEAROFWEEKISO(tstamp) AS "YEAR OF WEEK ISO" ; +-------------------------+------+----------+--------------+--------------+------------------+ | TSTAMP | WEEK | WEEK ISO | WEEK OF YEAR | YEAR OF WEEK | YEAR OF WEEK ISO | |-------------------------+------+----------+--------------+--------------+------------------| | 2016-01-02 23:39:20.123 | 53 | 53 | 53 | 2015 | 2015 | +-------------------------+------+----------+--------------+--------------+------------------+
Im Folgenden wird die Verwendung der Funktionen DAYOFWEEK
und DAYOFWEEKISO
veranschaulicht. Der Sitzungsparameter WEEK_START gibt an, dass die Woche am Sonntag beginnt.
ALTER SESSION SET WEEK_START = 7;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, DAYOFWEEK(tstamp) AS "DAY OF WEEK", DAYOFWEEKISO(tstamp) AS "DAY OF WEEK ISO" ; +-------------------------+-------------+-----------------+ | TSTAMP | DAY OF WEEK | DAY OF WEEK ISO | |-------------------------+-------------+-----------------| | 2016-01-02 23:39:20.123 | 7 | 6 | +-------------------------+-------------+-----------------+
Im Folgenden wird die Verwendung der Funktionen DAYOFWEEK
und DAYOFWEEKISO
veranschaulicht. Der Sitzungsparameter WEEK_START gibt an, dass die Woche am Montag beginnt.
ALTER SESSION SET WEEK_START = 0;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, DAYOFWEEK(tstamp) AS "DAY OF WEEK", DAYOFWEEKISO(tstamp) AS "DAY OF WEEK ISO" ; +-------------------------+-------------+-----------------+ | TSTAMP | DAY OF WEEK | DAY OF WEEK ISO | |-------------------------+-------------+-----------------| | 2016-01-02 23:39:20.123 | 6 | 6 | +-------------------------+-------------+-----------------+
Weitere Beispiele finden Sie unter Verwenden von Datums- und Zeitwerten.
Ausführlichere Beispiele für die wochenbezogenen Funktionen (DAYOFWEEK, WEEK, WEEKOFYEAR, YEAROFWEEK usw.) finden Sie unter Kalenderwochen und Wochentage.