2016-05-24 3 views
1

どのようにフラグメントを使用せずにエクトクエリこのSQLをectoクエリに変換するにはどうすればよいですか?

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

にこのSQLを翻訳します。

これは私には役立ちますが、このような種類のクエリを実行するためには奇妙な方法があるのでしょうか?

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

答えて

4

あなたはこれにそれを書き換えることができます:

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

ドキュメントはhere

です
関連する問題