首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Ecto中多个记录的两个日期时间列之间的秒数相加

将Ecto中多个记录的两个日期时间列之间的秒数相加
EN

Stack Overflow用户
提问于 2018-08-30 03:22:12
回答 2查看 107关注 0票数 0

是否可以使用Ecto查询来计算两个naive_datetime列之间的总秒数?

在下面的示例中,selected_items中每一项的运行时间是created_atcompleted_at之间的秒数。

我想创建一个查询,返回selected_items中所有记录的总运行时间。

代码语言:javascript
复制
total_seconds = Repo.one(from item in selected_items,
      select: sum(***Seconds between item.completed_at and item.created_at***)
EN

回答 2

Stack Overflow用户

发布于 2018-08-30 13:30:54

您可以使用Ecto.Query.dynamic/2

代码语言:javascript
复制
select = dynamic([item], item.completed_at - item.created_at)
from item in selected_items, select: sum(^select)
票数 0
EN

Stack Overflow用户

发布于 2018-08-30 18:01:15

我能够使用片段获得我所需要的东西。

代码语言:javascript
复制
total_seconds = Repo.one(from item in selected_items,
      select: sum(fragment("? - ?", item.completed_at, item.created_at))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52084707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档