So sánh ngày
Khi làm việc với timestamp, đôi khi bạn muốn tìm tất cả bản ghi trong một ngày cụ thể. Tuy nhiên, nếu bạn chỉ dùng một giá trị date trong phép so sánh, bạn có thể nhận kết quả không như mong đợi. Truy vấn sau:
SELECT count(*)
FROM evanston311
WHERE date_created = '2018-01-02';
trả về 0, dù thực tế có 49 yêu cầu vào ngày 2 tháng 1 năm 2018.
Lý do là khi so sánh với một timestamp, giá trị date sẽ tự động được chuyển sang timestamp. Các trường thời gian đều được đặt về 0:
SELECT '2018-01-02'::timestamp;
2018-01-02 00:00:00
Khi làm việc đồng thời với timestamp và date, bạn cần ghi nhớ điều này.
Bài tập này là một phần của khóa học
Phân tích Khám phá Dữ liệu bằng SQL
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
-- Count requests created on January 31, 2017
SELECT count(*)
FROM evanston311
WHERE ___;