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.source
er 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:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year