ÎncepețiÎncepe gratuit

Comparații cu date calendaristice

Când lucrezi cu marcaje de timp (timestamps), uneori vrei să găsești toate înregistrările dintr-o anumită zi. Totuși, dacă specifici doar o dată calendaristică într-o comparație, s-ar putea să obții rezultate neașteptate. Această interogare:

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

returnează 0, chiar dacă au existat 49 de solicitări pe 2 ianuarie 2018.

Aceasta se întâmplă deoarece datele calendaristice sunt convertite automat în marcaje de timp atunci când sunt comparate cu un timestamp. Câmpurile de timp sunt setate toate la zero:

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

Atunci când lucrezi atât cu marcaje de timp, cât și cu date calendaristice, este important să ții cont de acest lucru.

Acest exercițiu face parte din cursul

Analiza Exploratorie a Datelor în SQL

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- Count requests created on January 31, 2017
SELECT count(*) 
  FROM evanston311
 WHERE ___;
Editează și rulează codul