century
De eeuw
SELECT EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13');Result: 20SELECT EXTRACT(CENTURY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 21
De eerste eeuw begint op 0001-01-01 00:00:00 AD, hoewel men dat toen nog niet wist. Deze definitie geldt voor alle landen met de Gregoriaanse kalender. Er is geen eeuwnummer 0, je gaat van -1 eeuw naar 1 eeuw. Als u het hier niet mee eens bent, schrijf dan uw klacht naar: Paus, Kathedraal Sint-Pieter van Roma, Vaticaan.
PostgreSQL releases vóór 8.0 volgden niet de conventionele nummering van eeuwen, maar retourneerden gewoon het jaarveld gedeeld door 100.
day
Voor timestamp waarden, de dag (van de maand) veld (1 – 31) ; voor intervalwaarden, het aantal dagen
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 16SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');Result: 40
decade
Het jaarveld gedeeld door 10
SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 200
dow
De dag van de week als zondag (0) tot zaterdag (6)
SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');Result: 5
Merk op dat extract
’s dag van de week nummering verschilt van die van de to_char(..., 'D')
functie.
doy
De dag van het jaar (1 – 365/366)
SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 47
epoch
Voor datum- en tijdstempelwaarden, het aantal seconden sinds 1970-01-01 00:00:00 UTC (kan negatief zijn); voor interval waarden, het totaal aantal seconden in het interval
SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40.12-08');Result: 982384720.12SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');Result: 442800
Hier ziet u hoe u een epoch waarde terug kunt converteren naar een tijdstempel:
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second';
(De to_timestamp
functie kapselt de bovenstaande conversie in.)
uur
Het uur veld (0 – 23)
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 20
isodag
De dag van de week als maandag (1) tot en met zondag (7)
SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40');Result: 7
Dit is identiek aan dow behalve voor zondag. Dit komt overeen met de ISO 8601 dag van de week nummering.
isoyear
De ISO 8601 week-nummering jaar dat de datum valt in (niet van toepassing op intervallen)
SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01');Result: 2005SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02');Result: 2006
Elk ISO 8601 week-nummering jaar begint met de maandag van de week die de 4e januari, dus in begin januari of eind december het ISO-jaar kan verschillen van het Gregoriaanse jaar. Zie het weekveld voor meer informatie.
Dit veld is niet beschikbaar in PostgreSQL versies ouder dan 8.3.
microseconden
Het secondenveld, inclusief fractionele delen, vermenigvuldigd met 1 000 000; merk op dat dit volle seconden omvat
SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');Result: 28500000
millennium
Het millennium
SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');Result: 3
Jaren in de jaren 1900 vallen in het tweede millennium. Het derde millennium is begonnen op 1 januari 2001.
PostgreSQL versies vóór 8.0 volgden niet de conventionele nummering van millennia, maar gaven gewoon het jaar veld gedeeld door 1000.
milliseconden
Het seconden veld, inclusief fractionele delen, vermenigvuldigd met 1000. Merk op dat dit volledige seconden omvat.
SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');Result: 28500
minuut
Het minutenveld (0 – 59)
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 38
maand
Voor tijdstempelwaarden, het nummer van de maand binnen het jaar (1 – 12) ; voor intervalwaarden, het aantal maanden, modulo 12 (0 – 11)
SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');Result: 2SELECT EXTRACT(MONTH FROM INTERVAL '2 years 3 months');Result: 3SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months');Result: 1
kwartaal
Het kwartaal van het jaar (1 – 4) waarin de datum valt
SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');Result: 1
seconde
Het secondenveld, inclusief fractionele delen (0 – 59)
SELECT EXTRACT(SECOND FROM TIMESTAMP '2001-02-16 20:38:40');Result: 40SELECT EXTRACT(SECOND FROM TIME '17:12:28.5');Result: 28.5
tijdzone
De tijdzone-offset van UTC, gemeten in seconden. Positieve waarden komen overeen met tijdzones ten oosten van UTC, negatieve waarden met zones ten westen van UTC. (Technisch gezien gebruikt PostgreSQL UT1 omdat schrikkelseconden niet worden verwerkt.)
timezone_hour
De uurcomponent van de tijdzone-offset
timezone_minute
De minuutcomponent van de tijdzone-offset
week
Het nummer van de ISO 8601 weeknummering week van het jaar. ISO-weken beginnen per definitie op maandag en de eerste week van een jaar bevat 4 januari van dat jaar. Met andere woorden, de eerste donderdag van een jaar valt in week 1 van dat jaar.
In het ISO-weeknummeringssysteem is het mogelijk dat data begin januari deel uitmaken van de 52e of 53e week van het voorgaande jaar, en dat data eind december deel uitmaken van de eerste week van het volgende jaar. Bijvoorbeeld, 2005-01-01 is deel van de 53e week van het jaar 2004, en 2006-01-01 is deel van de 52e week van het jaar 2005, terwijl 2012-12-31 deel is van de eerste week van 2013. Het wordt aanbevolen om het isoyear veld samen met week te gebruiken om consistente resultaten te krijgen.
SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');Result: 7
year
Het jaar veld. Houd in gedachten dat er geen 0 AD is, dus het aftrekken van BC jaren van AD jaren moet voorzichtig worden gedaan.
SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 2001