Erste SchritteKostenlos loslegen

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

Kurs anzeigen

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 ___;
Bearbeiten und Ausführen von Code