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

Vastaa

Sähköpostiosoitettasi ei julkaista.