Datumsvergleiche
Wenn du mit Zeitstempeln arbeitest, möchtest du manchmal alle Beobachtungen an einem bestimmten Tag finden. Wenn du jedoch nur ein Datum in einem Vergleich angibst, kannst du unerwartete Ergebnisse erhalten. Diese Anfrage:
SELECT count(*)
FROM evanston311
WHERE date_created = '2018-01-02';
gibt 0 zurück, obwohl es am 2. Januar 2018 49 Anfragen gab.
Das liegt daran, dass Daten automatisch in Zeitstempel umgewandelt werden, wenn sie mit einem Zeitstempel verglichen werden. Die Uhrzeitfelder werden alle auf Null gesetzt:
SELECT '2018-01-02'::timestamp;
2018-01-02 00:00:00
Wenn du sowohl mit Zeitstempeln als auch mit Datumsangaben arbeitest, musst du das im Hinterkopf behalten.
Diese Übung ist Teil des Kurses
Explorative Datenanalyse in SQL
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
-- Count requests created on January 31, 2017
SELECT count(*)
FROM evanston311
WHERE ___;