century
Vuosisata
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
Ensimmäinen vuosisata alkaa 0001-01-01 00:00:00 jKr, vaikkei sitä tuolloin tiedetty. Tämä määritelmä koskee kaikkia gregoriaanisen kalenterin maita. Vuosisadan numeroa 0 ei ole, vaan siirrytään -1 vuosisadasta 1 vuosisataan. Jos olet eri mieltä tästä, kirjoita valituksesi osoitteeseen: Pope, Cathedral Saint-Peter of Roma, Vatican.
PostgreSQL-versiot ennen versiota 8.0 eivät noudattaneet perinteistä vuosisatojen numerointia, vaan palauttivat vain vuosilukukentän jaettuna sadalla.
day
Aikaleima-arvojen osalta (kuukauden) päivä-kenttä (1 – 31) ; intervalliarvojen osalta päivien lukumäärä
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 16SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');Result: 40
vuosikymmen
Vuosikenttä jaettuna 10:llä
SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 200
dow
Viikonpäivä sunnuntaista (0) lauantaihin (6)
SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');Result: 5
Huomaa, että extract
:n viikonpäivien numerointi eroaa to_char(..., 'D')
-funktion numeroinnista.
doy
Vuoden päivä (1 – 365/366)
SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 47
epoch
Päiväys- ja aikaleima-arvojen osalta sekuntien lukumäärä vuodesta 1970-01-01 00:00:00 UTC (voi olla negatiivinen); intervalliarvojen osalta sekuntien kokonaismäärä intervallissa
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
Tällä tavalla voit muuntaa epookkiarvon takaisin aikaleimaksi:
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second';
(Funktio to_timestamp
kiteyttää yllä olevan muunnoksen.)
hour
Tuntikenttä (0 – 23)
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 20
isodow
Viikonpäivä maanantaista (1) sunnuntaihin (7)
SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40');Result: 7
Tämä on identtinen dow:n kanssa lukuun ottamatta sunnuntaita. Tämä vastaa ISO 8601 -viikonpäivien numerointia.
isoyear
ISO 8601 -viikkonumerointivuosi, johon päivämäärä osuu (ei koske aikavälejä)
SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01');Result: 2005SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02');Result: 2006
Jokainen ISO 8601 -viikkonumerointivuosi alkaa tammikuun 4. päivän sisältävän viikon maanantaista, joten tammikuun alkupuolella tai joulukuun loppupuolella ISO-viikkonumerointivuosi voi poiketa gregoriaanisesta vuodesta. Katso lisätietoja Viikko-kentästä.
Tämä kenttä ei ole käytettävissä PostgreSQL-julkaisuissa ennen versiota 8.3.
mikrosekunnit
Sekuntikenttä, mukaan lukien murto-osat, kerrottuna 1 000 000:lla; huomaa, että tämä sisältää täydet sekunnit
SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');Result: 28500000
vuosituhat
Millennium
Millenniumin vuosituhannen vaihteen
SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');Result: 3
1900- luvun vuodet ovat toisella vuosituhannella. Kolmas vuosituhat alkoi 1. tammikuuta 2001.
PostgreSQL-versiot ennen 8.0:aa eivät noudattaneet perinteistä vuosituhansien numerointia, vaan palauttivat vain vuosilukukentän jaettuna 1000:lla.
millisekunnit
Sekuntikenttä murto-osineen kerrottuna 1000:lla. Huomaa, että tämä sisältää täydet sekunnit.
SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');Result: 28500
minuutti
Minuuttikenttä (0 – 59)
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 38
kuukausi
Aikaleima-arvojen osalta kuukauden numero vuoden sisällä (1 – 12) ; intervalliarvojen osalta kuukausien lukumäärä 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
quarter
Vuoden vuosineljännes (1 – 4), johon päivämäärä sijoittuu
SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');Result: 1
second
Sekuntikenttä, mukaan lukien murto-osat (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
timezone
Aikavyöhykepoikkeama UTC:stä sekunneissa mitattuna. Positiiviset arvot vastaavat UTC:n itäpuolella olevia aikavyöhykkeitä, negatiiviset arvot UTC:n länsipuolella olevia aikavyöhykkeitä. (Teknisesti PostgreSQL käyttää UT1:tä, koska karkaussekunteja ei käsitellä.)
timezone_hour
Aikavyöhykeoffsetin tuntikomponentti
timezone_minute
Aikavyöhykeoffsetin minuuttikomponentti
week
Vuoden ISO 8601 -viikkonumerointiviikon numero. Määritelmän mukaan ISO-viikot alkavat maanantaisin, ja vuoden ensimmäinen viikko sisältää kyseisen vuoden tammikuun 4. päivän. Toisin sanoen vuoden ensimmäinen torstai on kyseisen vuoden viikolla 1.
ISO-viikkonumerointijärjestelmässä on mahdollista, että tammikuun alun päivämäärät ovat osa edellisen vuoden 52. tai 53. viikkoa ja että joulukuun lopun päivämäärät ovat osa seuraavan vuoden ensimmäistä viikkoa. Esimerkiksi 2005-01-01 on osa vuoden 2004 53. viikkoa ja 2006-01-01 on osa vuoden 2005 52. viikkoa, kun taas 2012-12-31 on osa vuoden 2013 ensimmäistä viikkoa. On suositeltavaa käyttää isoyear-kenttää yhdessä viikon kanssa johdonmukaisten tulosten saamiseksi.
SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');Result: 7
year
Vuosikenttä. Muista, että ei ole olemassa 0 AD, joten BC-vuosien vähentäminen AD-vuosista on tehtävä varovasti.
SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 2001