我尝试将数据与groupdate
分组,如下所示:
TimeEntry.from(time_entries.select('upper(time) - lower(time) AS duration, created_at')).group_by_day(:created_at).sum(:duration)
结果是包含这样的项的哈希:
Thu, 24 Mar 2016 00:00:00 UTC => "10:19:37"
我的问题是,我希望持续时间以秒为单位(浮动)而不是字符串" hh:mm:ss",我该如何实现?
我已尝试过upper(time)::float
,但它会抛出一个解析异常
答案 0 :(得分:1)
尝试在EXTRACT
声明中使用EPOCH
select
:
time_entries.select("EXTRACT(EPOCH FROM (UPPER(time) - LOWER(time)))")
相关文档示例:http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT