I PostgreSQL er date_part() funktionen henter underfelter såsom år, måned, time eller minut, del af en dato/tidsværdi.
Det svarer til extract() funktion, dog med en lidt anden syntaks.
Syntaks
Funktionen har følgende syntaks:
date_part('field', source) Hvor:
'field'er til datodelen, som du vil hente. Denne parameter skal være en strengværdi, ikke et navn. Se nedenfor for en liste over gyldige feltnavne.sourceer et tidsstempel eller et interval som du vil have datodelen hentet fra.
Eksempel – Tidsstempel
Her er et grundlæggende eksempel til at demonstrere, hvordan man henter et felt fra et tidsstempel .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15'); Resultat:
22
Dette eksempel henter timefeltet fra et tidsstempel værdi.
Her er den igen, men denne gang henter jeg årstallet.
SELECT date_part('year', timestamp '2020-09-16 22:33:15'); Resultat:
2020
Eksempel – Interval
I dette eksempel henter jeg en datodel fra et interval værdi.
SELECT date_part('hour', interval '5 hours 30 minutes'); Resultat:
5
I det næste eksempel returnerer funktionen korrekt antallet af timer, selvom jeg kun angiver antallet af minutter.
SELECT date_part('hour', interval '120 minutes'); Resultat:
2
Regn dog ikke med denne teknik. Du vil måske opdage, at du ikke altid får det resultat, du forventer.
For eksempel:
SELECT date_part('hour', interval '100 minutes'); Resultat:
1
Og en anden:
SELECT date_part('minute', interval '2 hours'); Resultat:
0
Feltnavne
Det første argument kan være et af følgende:
centurydaydecadedowdoyepochhourisodowisoyearmicrosecondsmillenniummillisecondsminutemonthquartersecondtimezonetimezone_hourtimezone_minuteweekyear