日期比较
在处理时间戳时,您有时会想找到某一天内的所有记录。然而,如果在比较中只指定日期,可能会得到出乎意料的结果。如下查询:
SELECT count(*)
FROM evanston311
WHERE date_created = '2018-01-02';
返回 0,尽管在 2018 年 1 月 2 日当天有 49 个请求。
原因是当与时间戳进行比较时,日期会被自动转换为时间戳,时间字段都会被设为 0:
SELECT '2018-01-02'::timestamp;
2018-01-02 00:00:00
在同时处理时间戳和日期时,您需要牢记这一点。
本练习是课程的一部分
SQL 中的探索性数据分析
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Count requests created on January 31, 2017
SELECT count(*)
FROM evanston311
WHERE ___;