gpt4 book ai didi

elixir - 在 Ecto 中比较日期的正确方法是什么

转载 作者:行者123 更新时间:2023-12-03 09:11:32 25 4
gpt4 key购买 nike

比较范围内的日期的正确方法是什么,使用减号运算符并比较日期是否大于 Ecto 中的日期?

  def has_valid_date_range(query) do
from ct in query,
where: (ct.end_date - from_now(0, "day")) > 0,
where: (ct.end_date - from_now(0, "day")) <= ct.due_notice
end

此查询的结果应返回 end_date 减去今天大于 0 且 end_date 减去今天小于 due_notice 的所有行

但它返回一个错误

** (Ecto.Query.CompileError) ct.end_date() - from_now(0, "day") 不是有效的查询表达式。

最佳答案

正如我们在评论部分中所指出的,您想要选择 end_date 在当前时间之后且距离当前时间 due_notice 天之前的记录。为此,您可以使用以下查询:

where: ct.end_date > from_now(0, "day") and
ct.end_date <= datetime_add(ct.end_date, ct.due_notice, "day")

关于elixir - 在 Ecto 中比较日期的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41934595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com