Egoblog.cz - Petr Kobelka

PostgreSQL a Daterange type

Krátký tip, jak pracovat v databázi Postgres s dotazem na DATERANGE.


PHP | Komentáře (0) | Shlédnuto 872 × | Vloženo: 19. května 2015

Dnes vám dám tip, jak jednoduše pracovat s datovým tipem DATERANGE, se kterým se můžete setkat např. v databázovém systému PostgreSql.

Krok zpátky k MySQL

V případě mysql takový komfort nemáte a dotazy na průnik vašeho data s nějakým rozsahem musíte řešit např. operátorem BETWEEN. Když uvedu příklad, pak v MySql by zápis vypadal např. takto:

SELECT * FROM calendar WHERE 'MOJE-DATUM' BETWEEN date_from AND date_to.

Ptáte se, jestli je vaše datum v uvedeném rozsahu možných hodnot. Tento zápis funguje zcela v pořádku

Pokračujeme u PostgreSQL

Stejný zápis je možné použít i v postgresu. Nikdo a nic vám v tom nebrání. Ale protože jste zkušení programátoří, chcete si ušetřit čas psaním a navíc urychlit svoji aplikaci, sáhnete právě po datovém typu DATERANGE.

Příklad tabulky:

CREATE TABLE calendar (
 id serial,
date_from DATE, //referencni hodnoty
date_to DATE, //referencni hodnoty
date_range DATERANGE,
event CHARACTER VARYING (50)
);

Pokud by jste potřebovali vytáhnout všechny události, které jsou např. 1.5.2015, pak by jste původně zapsali např. tento SQL dotaz:

SELECT * FROM calendar WHERE '2015-05-01' BETWEEN date_from AND date_to

A zde nastupuje síla datového typu DATERANGE. Díky němu můžete vytvořit tento SQL dotaz:

SELECT * FROM calendar WHERE  '2015-05-01'::date <@ date_dange

Jednoduché a elegantní, že? Napíšete se méně a navíc můžete krásně indexovat atribut date_range. Za upozornění stojí i ten zvláštní operátor <@ !

Více informací můžete najít zde: http://www.postgresql.org/docs/9.2/static/rangetypes.html, nebo zde http://www.postgresql.org/docs/9.2/static/functions-range.html.

Podobné články jako "PostgreSQL a Daterange type"

Petr Kobelka | Egoblog.cz | Tvorba www stránek - www.petrkobelka.cz

Petr Kobelka
Autor je zkušeným web developerem a programátorem s více než 10 letými zkušenostmi. Pracuje jako programátor pro známou Olomouckou společnost zabývající se tvorbou internetových a intranetových řešení. Spolu se zaměstnáním pracuje na volné noze a zabývá se tvorbou internetových stránek. Ve volném čase rád fotí, jezdí na kole, plave a cestuje.

Komentáře

E-mail je potřeba pouze pro vygenerování Gravataru!

Oups, žádné komentáře? Buďtě první !!!

Blog píše Petr Kobelka

Petr Kobelka - egoblog.cz

Žádám všechny, kteří mají zájem vkládat komentáře, aby se řídili pravidly NETikety. Komentáře, porušující tato pravidla můžou být bez varování smazány.