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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.