Začněte nyníZačněte zdarma

Porovnávání dat

Při práci s časovými razítky (timestamps) někdy potřebuješ najít všechny záznamy za konkrétní den. Pokud ale při porovnávání zadáš pouze datum, můžeš dostat nečekané výsledky. Tento dotaz:

SELECT count(*) 
  FROM evanston311
 WHERE date_created = '2018-01-02';

vrátí 0, přestože 2. ledna 2018 bylo evidováno 49 požadavků.

Důvod je ten, že při porovnávání s časovým razítkem se datum automaticky převede na timestamp. Časové složky se přitom nastaví na nulu:

SELECT '2018-01-02'::timestamp;
 2018-01-02 00:00:00

Když pracuješ s timestamps i daty zároveň, měj tohle na paměti.

Toto cvičení je součástí kurzu

Průzkumná analýza dat v SQL

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- Count requests created on January 31, 2017
SELECT count(*) 
  FROM evanston311
 WHERE ___;
Upravit a spustit kód