století
Století
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
První století začíná 0001-01-01 00:00:00 našeho letopočtu, i když to v té době ještě nevěděli. Tato definice platí pro všechny země s gregoriánským kalendářem. Neexistuje žádné století číslo 0, postupuje se od -1 století do 1 století. Pokud s tím nesouhlasíte, napište svou stížnost na adresu:
Vydání PostgreSQL před verzí 8.0 se neřídila konvenčním číslováním století, ale vracela pouze pole roku dělené 100. Vydání před verzí 8.0 se řídilo číslováním století.
den
Pro hodnoty časových razítek se používá pole den (měsíce) (1 – 31) ; pro intervalové hodnoty počet dní
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 16SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');Result: 40
decade
Pole roku děleno 10
SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 200
dow
Den v týdnu jako neděle (0) až sobota (6)
SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');Result: 5
Všimněte si, že číslování dnů v týdnu u funkce extract
se liší od číslování u funkce to_char(..., 'D')
.
doy
Den v roce (1 – 365/366)
SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 47
epocha
Pro hodnoty data a časové značky počet sekund od 1970-01-01 00:00:00 UTC (může být záporný); u intervalových hodnot celkový počet sekund v intervalu
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
Takto lze převést hodnotu epochy zpět na časové razítko:
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second';
(Funkce to_timestamp
zapouzdřuje výše uvedený převod.)
hodina
Pole hodiny (0 – 23)
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 20
isodow
Den v týdnu jako pondělí (1) až neděle (7)
SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40');Result: 7
Toto je totožné s dow s výjimkou neděle. To odpovídá číslování dnů v týdnu podle ISO 8601.
isoyear
Rok číslování týdnů podle ISO 8601, do kterého datum spadá (neplatí pro intervaly)
SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01');Result: 2005SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02');Result: 2006
Každý rok číslování týdnů podle ISO 8601 začíná pondělím týdne obsahujícího 4. leden, takže na začátku ledna nebo na konci prosince se rok ISO může lišit od gregoriánského roku. Další informace naleznete v poli týden.
Toto pole není k dispozici ve verzích PostgreSQL před 8.3.
mikrosekundy
Pole sekundy, včetně zlomkových částí, vynásobené 1 000 000; všimněte si, že to zahrnuje celé sekundy
SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');Result: 28500000
milénium
Milénium
SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');Result: 3
Lety v roce 1900 jsou ve druhém tisíciletí. Třetí tisíciletí začalo 1. ledna 2001.
Vydání PostgreSQL před verzí 8.0 se neřídila konvenčním číslováním tisíciletí, ale vracela pouze pole rok vydělené 1000.
milisekundy
Pole sekundy včetně zlomkových částí vynásobené 1000. Všimněte si, že to zahrnuje celé sekundy.
SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');Result: 28500
minuta
Pole minut (0 – 59)
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 38
měsíc
Pro hodnoty časových razítek číslo měsíce v rámci roku (1 – 12) ; u intervalových hodnot počet měsíců 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
čtvrtletí
Čtvrtletí roku (1 – 4), ve kterém se datum nachází
SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');Result: 1
sekunda
Pole sekund, včetně zlomkových částí (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
časové pásmo
Odstup časového pásma od UTC, měřeno v sekundách. Kladné hodnoty odpovídají časovým zónám na východ od UTC, záporné hodnoty zónám na západ od UTC. (Technicky PostgreSQL používá UT1, protože přestupné sekundy nejsou zpracovány.)
timezone_hour
Hodinová složka posunu časového pásma
timezone_minute
Minutová složka posunu časového pásma
week
Číslo týdne v roce podle číselníku ISO 8601. Podle definice začínají týdny ISO pondělím a první týden roku obsahuje 4. leden daného roku. Jinými slovy, první čtvrtek roku je v 1. týdnu daného roku.
V systému číslování týdnů ISO je možné, aby data na začátku ledna byla součástí 52. nebo 53. týdne předchozího roku a data na konci prosince byla součástí prvního týdne následujícího roku. Například datum 2005-01-01 je součástí 53. týdne roku 2004 a datum 2006-01-01 je součástí 52. týdne roku 2005, zatímco datum 2012-12-31 je součástí prvního týdne roku 2013. Pro získání konzistentních výsledků se doporučuje používat pole isoyear společně s polem week.
SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');Result: 7
year
Pole year. Mějte na paměti, že neexistuje rok 0 n. l., takže odečítání roků před naším letopočtem od roků n. l. je třeba provádět opatrně.
SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 2001