Сравнение дат
При работе с метками времени иногда требуется найти все записи за определённый день. Однако если в условии сравнения указать только дату, результат может оказаться неожиданным. Этот запрос:
SELECT count(*)
FROM evanston311
WHERE date_created = '2018-01-02';
вернёт 0, хотя 2 января 2018 года было зарегистрировано 49 обращений.
Происходит это потому, что при сравнении с меткой времени дата автоматически преобразуется в тип timestamp. При этом все поля времени устанавливаются в ноль:
SELECT '2018-01-02'::timestamp;
2018-01-02 00:00:00
При работе с метками времени и датами одновременно это важно учитывать.
Это упражнение является частью курса
Разведочный анализ данных в SQL
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
-- Count requests created on January 31, 2017
SELECT count(*)
FROM evanston311
WHERE ___;