I PostgreSQL, date_part()
funktionen hämtar underfält som år, månad, timme eller minut, en del från ett datum-/tidsvärde.
Det motsvarar extract()
funktion, men med en något annorlunda syntax.
Syntax
Funktionen har följande syntax:
date_part('field', source)
Var:
'field'
är för datumdelen som du vill hämta. Denna parameter måste vara ett strängvärde, inte ett namn. Se nedan för en lista över giltiga fältnamn.source
är en tidsstämpel eller ett intervall som du vill att datumdelen ska hämtas från.
Exempel – Tidsstämpel
Här är ett grundläggande exempel för att visa hur man hämtar ett fält från en tidsstämpel .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15');
Resultat:
22
Det här exemplet hämtar timfältet från en tidsstämpel värde.
Här är den igen, men den här gången hämtar jag årtalet.
SELECT date_part('year', timestamp '2020-09-16 22:33:15');
Resultat:
2020
Exempel – Intervall
I det här exemplet hämtar jag en datumdel från ett intervall värde.
SELECT date_part('hour', interval '5 hours 30 minutes');
Resultat:
5
I nästa exempel returnerar funktionen korrekt antalet timmar, även om jag bara anger antalet minuter.
SELECT date_part('hour', interval '120 minutes');
Resultat:
2
Räkna dock inte med denna teknik. Du kanske upptäcker att du inte alltid får det resultat du förväntar dig.
Till exempel:
SELECT date_part('hour', interval '100 minutes');
Resultat:
1
Och en annan:
SELECT date_part('minute', interval '2 hours');
Resultat:
0
Fältnamn
Det första argumentet kan vara något av följande:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year