Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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 ___;
Chỉnh sửa và Chạy Mã