century
A század
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
Az első század Kr.u. 0001-01-01 00:00:00-kor kezdődik, bár ezt akkor még nem tudták. Ez a meghatározás minden Gergely-naptár szerinti országra érvényes. Nincs 0. századszám, -1 évszázadtól 1 évszázadig haladunk. Ha ezzel nem ért egyet, kérjük, írja meg panaszát a következő címre: Pope, Cathedral Saint-Peter of Roma, Vatican.
A 8.0 előtti PostgreSQL kiadások nem követték a századok hagyományos számozását, hanem csak az év mezőt adták vissza osztva 100-zal.
day
Az időbélyeg értékek esetében a nap (a hónap) mező (1 – 31) ; intervallumértékek esetén a napok számát
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 16SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');Result: 40
évtized
Az év mezőt osztva 10-zel
SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 200
dow
A hét napját vasárnaptól (0) szombatig (6)
SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');Result: 5
Megjegyezzük, hogy a extract
a hét napjainak számozása eltér a to_char(..., 'D')
függvényétől.
doy
Az év napja (1 – 365/366)
SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 47
epocha
Dátum és időbélyeg értékek esetén az 1970-01-01 00:00 óta eltelt másodpercek száma:00 UTC (lehet negatív is); intervallumértékek esetén az intervallumban lévő másodpercek teljes száma
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
Íme, hogyan lehet az epochaértéket visszaalakítani időbélyeggé:
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second';
(A to_timestamp
függvény a fenti átalakítást foglalja magába.)
hour
Az óramező (0 – 23)
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 20
isodow
A hét napja hétfőtől (1) vasárnapig (7)
SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40');Result: 7
Ez megegyezik a dow-val, kivéve a vasárnapot. Ez megfelel az ISO 8601 hétköznap számozásának.
isoyear
Az ISO 8601 hétszámozási év, amelyre a dátum esik (intervallumokra nem vonatkozik)
SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01');Result: 2005SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02');Result: 2006
Minden ISO 8601 hétszámozási év a január 4-ét tartalmazó hét hétfőjével kezdődik, így január elején vagy december végén az ISO év eltérhet a gregorián évtől. További információért lásd a hét mezőt.
Ez a mező nem érhető el a PostgreSQL 8.3 előtti kiadásaiban.
mikromásodpercek
A másodperc mező, beleértve a törtrészeket is, megszorozva 1 000 000-rel; vegye figyelembe, hogy ez a teljes másodperceket is tartalmazza
SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');Result: 28500000
millennium
A millennium
SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');Result: 3
Az 1900-as évek a második évezredben vannak. A harmadik évezred 2001. január 1-jén kezdődött.
A 8.0 előtti PostgreSQL kiadások nem követték az évezredek hagyományos számozását, hanem csak az év mezőt adták vissza osztva 1000-zel.
milliszekundum
A másodperc mező, beleértve a tört részeket is, szorozva 1000-zel. Megjegyzendő, hogy ez a teljes másodperceket is tartalmazza.
SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');Result: 28500
perc
A perc mező (0 – 59)
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 38
hónap
Időbélyeg értékek esetén a hónap száma az éven belül (1 – 12) ; intervallum értékek esetén a hónapok száma, 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
negyedév
Az év negyedéve (1 – 4), amelyben a dátum van
SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');Result: 1
másodperc
A másodperc mező, beleértve a tört részeket is (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
időzóna
Az időzóna eltolása az UTC-től, másodpercekben mérve. A pozitív értékek az UTC-től keletre eső időzónáknak, a negatív értékek az UTC-től nyugatra eső zónáknak felelnek meg. (Technikailag a PostgreSQL az UT1-et használja, mert a szökőmásodperceket nem kezeli.)
timezone_hour
Az időzóna eltolás órai komponense
timezone_minute
Az időzóna eltolás perces komponense
week
Az év ISO 8601 szerinti hét számozású hetének száma. Definíció szerint az ISO-hét hétfőn kezdődik, és az év első hete az adott év január 4-ét tartalmazza. Más szóval, egy év első csütörtökje az adott év 1. hetében van.
Az ISO-hétszámozási rendszerben lehetséges, hogy a január eleji dátumok az előző év 52. vagy 53. hetének részét képezik, és a december végi dátumok a következő év első hetének részét képezik. Például 2005-01-01 a 2004-es év 53. hetének része, 2006-01-01 a 2005-ös év 52. hetének része, míg 2012-12-31 a 2013-as év első hetének része. A konzisztens eredmények érdekében ajánlott az isoyear mezőt a héttel együtt használni.
SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');Result: 7
year
Az év mező. Ne feledje, hogy nincs 0 AD, ezért a BC évek kivonását az AD évekből óvatosan kell elvégezni.
SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 2001