Aan de slagGa gratis aan de slag

Datums vergelijken

Als je met timestamps werkt, wil je soms alle observaties op een bepaalde dag vinden. Maar als je in een vergelijking alleen een datum opgeeft, kun je onverwachte resultaten krijgen. Deze query:

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

geeft 0 terug, terwijl er op 2 januari 2018 toch 49 verzoeken waren.

Dit komt doordat datums automatisch naar timestamps worden geconverteerd wanneer ze met een timestamp worden vergeleken. De tijdvelden worden allemaal op nul gezet:

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

Als je met zowel timestamps als datums werkt, moet je hier rekening mee houden.

Deze oefening maakt deel uit van de cursus

Exploratory Data Analysis in SQL

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- Count requests created on January 31, 2017
SELECT count(*) 
  FROM evanston311
 WHERE ___;
Code bewerken en uitvoeren