In PostgreSQL, de date_part()
functie haalt subvelden op, zoals het jaar, de maand, het uur of de minuut, deels uit een datum/tijd-waarde.
Het is gelijk aan de extract()
functie, hoewel met een iets andere syntaxis.
Syntaxis
De functie heeft de volgende syntaxis:
date_part('field', source)
Waar:
'field'
is voor het datumgedeelte dat u wilt ophalen. Deze parameter moet een tekenreekswaarde zijn, geen naam. Zie hieronder voor een lijst met geldige veldnamen.source
is een tijdstempel of een interval waarvan u het datumgedeelte wilt ophalen.
Voorbeeld – Tijdstempel
Hier is een eenvoudig voorbeeld om te demonstreren hoe u een veld kunt ophalen uit een tijdstempel .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15');
Resultaat:
22
In dit voorbeeld wordt het uurveld opgehaald uit een tijdstempel waarde.
Hier is het weer, maar deze keer haal ik het jaarveld op.
SELECT date_part('year', timestamp '2020-09-16 22:33:15');
Resultaat:
2020
Voorbeeld – Interval
In dit voorbeeld haal ik een datumgedeelte op uit een interval waarde.
SELECT date_part('hour', interval '5 hours 30 minutes');
Resultaat:
5
In het volgende voorbeeld retourneert de functie correct het aantal uren, ook al geef ik alleen het aantal minuten op.
SELECT date_part('hour', interval '120 minutes');
Resultaat:
2
Reken echter niet op deze techniek. Het kan zijn dat u niet altijd het resultaat krijgt dat u verwacht.
Bijvoorbeeld:
SELECT date_part('hour', interval '100 minutes');
Resultaat:
1
En nog een:
SELECT date_part('minute', interval '2 hours');
Resultaat:
0
Veldnamen
Het eerste argument kan een van de volgende zijn:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year