2016-05-24 7 views
1

Wie übersetze ich diese SQL-Abfrage ectoWie übersetze ich diese SQL in ecto Abfrage?

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

ohne Fragment zu verwenden.

Dies funktioniert für mich, aber ich frage mich, ob es eine ecto idiomatische Möglichkeit gibt, diese Art von Abfrage zu tun.

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

Antwort

4

Man könnte es so umschreiben:

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

Die docs sind here