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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.