1. Learn
  2. /
  3. Cursuri
  4. /
  5. Analiza Exploratorie a Datelor în SQL

Connected

exercițiu

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.

Instrucțiuni 1/3

undefined XP
  • 1
    • Numără solicitările Evanston 311 create pe 31 ianuarie 2017, convertind date_created la tipul date.
  • 2
    • Numără solicitările Evanston 311 create pe 29 februarie 2016, folosind operatorii >= și <.
  • 3
    • Numără solicitările create pe 13 martie 2017.
    • Specifică limita superioară adăugând 1 la limita inferioară.