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
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 ___;