表模式如下:
Column | Type | Modifiers
--------+--------------------------+--------------------------------------------------
time | timestamp with time zone | default now()
时间格式如下:
time
------------------------
2016-07-11 18:58:28+00
2016-07-11 18:58:37+00
2016-07-12 00:59:31+00
如何按时间分组截断时间?
我希望看到结果为:
date
------------------------
2016-07-11
2016-07-11
2016-07-12
答案 0 :(得分:1)
如果您想比较或按日期分组而不是时间戳,可以转换为DATE
:
SELECT time::DATE, ... FROM ... GROUP BY time::DATE;
或更简单
SELECT time::DATE, ... FROM ... GROUP BY 1;
答案 1 :(得分:1)
查看有关日期时间函数的当前Postgresql文档:https://www.postgresql.org/docs/current/static/functions-datetime.html
您可以使用date_trunc
,extract
,to_char
或最简单的方式转换为date
(正如我所做的那样):
SELECT time::date; // 2016-07-11 18:58:28+00 -> 2016-07-11
干杯!
答案 2 :(得分:0)
使用date_trunc:
select date_trunc('day', time)