In PostgreSQL können Sie den extract()
verwenden Funktion, um den Tag aus einem Datum zu erhalten.
Sie können auch date_part()
verwenden dasselbe zu tun.
Wenn Sie den Tag aus einem Datum extrahieren, müssen Sie angeben, welche Bedeutung des Wortes „Tag“ Sie meinen. Zum Beispiel „Wochentag“, „Tag des Monats“, „Tag des Jahres“ usw.
Beispiel 1:Wochentag
Hier ist ein Beispiel für die Verwendung von extract()
Funktion, um den Wochentag aus einem Datum zu extrahieren.
Mit dow
gibt den Wochentag als Sonntag (0) bis Samstag (6) zurück.
SELECT extract(dow from date '2020-12-27') AS "Day of week", to_char(date '2020-12-27', 'Day') AS "Day Name";
Ergebnis:
Day of week | Day Name -------------+----------- 0 | Sunday
In diesem Beispiel habe ich auch den Tagesnamen zurückgegeben, damit es keine Verwirrung darüber gibt, welcher Tag tatsächlich zurückgegeben wird.
Ich werde das gleiche Datum für die restlichen Beispiele verwenden, daher brauche ich den Tagesnamen in diesen Beispielen nicht auszudrucken.
Beispiel 2:ISO-Wochentag
Mit isodow
gibt den Wochentag als Montag (1) bis Sonntag (7) zurück.
SELECT extract( isodow from date '2020-12-27' ) AS "ISO Day of week";
Ergebnis:
ISO Day of week ----------------- 7
Der Grund, warum ich Sonntag in diesen Beispielen verwendet habe, ist, dass es den Unterschied zwischen isodow
hervorhebt und dow
.
Beispiel 3:Tag des Monats
Bei Verwendung von Zeitstempel oder Datum Werte, day
gibt den Tag des Monats zurück (1 – 31).
SELECT extract( day from date '2020-12-27' ) AS "Day of month";
Ergebnis:
Day of month -------------- 27
Bei Verwendung eines Intervalls Wert, der day
Feld ergibt die Anzahl der zurückgegebenen Tage.
SELECT extract( day from interval '32 weeks' ) AS "Number of days";
Ergebnis:
Number of days ---------------- 224
Beispiel 4:Tag des Jahres
Verwenden von doy
gibt den Tag des Jahres zurück (1 – 365/366).
SELECT extract( doy from date '2020-12-27' ) AS "Day of year";
Ergebnis:
Day of year ------------- 362
Beispiel 5:Die Funktion date_part()
Der date_part()
Funktion kann anstelle von extract()
verwendet werden Funktion. Hier ist ein Beispiel.
SELECT date_part( 'doy', timestamp '2020-12-27' ) AS "Day of year";
Ergebnis:
Day of year ------------- 362