如何将此SQL转换为ecto查询?

时间:2016-05-24 08:41:33

标签: elixir ecto

如何将此SQL转换为ecto查询

SELECT * 
 FROM table_name
 WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 1 DAY)

不使用片段。

这对我有用,但我想知道是否存在一种以此方式进行此类查询的惯用方法。

iex(22)> query = from n in Table,
...(22)> where: fragment("updatedAt > DATE_SUB(now(), INTERVAL 1 DAY)"),
...(22)> select: n;

1 个答案:

答案 0 :(得分:4)

您可以将其重写为:

from t in Table,
where: t.updatedAt > datetime_add(^Ecto.DateTime.utc, -1, "day")

文档为here