如何在 Elixir Ecto 中使用 'between' 创建 SQL
How to create a SQL using 'between' in Elixir Ecto
我想在 Elixir Ecto 中使用关键字 'between' 创建一个 SQL。
我知道如何使用 like
创建 sql
where: like(t.descript, ^some_description)
但是当我尝试以与like
相同的方式进行操作时
where: between(t.start_date, ^start_date, ^end_date),
我收到 "not valid" 错误消息
** (Ecto.Query.CompileError) `between(t.start_date(), ^start_date, ^end_date)` is not a valid query expression.**
我怎样才能正确地做到这一点?
提前致谢!!
我认为 Ecto 没有提供 between
子句。您可以使用
来完成您的任务
where: t.start_date >= ^start_date,
where: t.start_date <= ^end_date
您可以使用 fragment
来执行此操作。
where: fragment("? BETWEEN ? AND ?", t.date, ^start_date, ^end_date)
https://hexdocs.pm/ecto/3.1.4/Ecto.Query.API.html#fragment/1
我想在 Elixir Ecto 中使用关键字 'between' 创建一个 SQL。
我知道如何使用 like
where: like(t.descript, ^some_description)
但是当我尝试以与like
where: between(t.start_date, ^start_date, ^end_date),
我收到 "not valid" 错误消息
** (Ecto.Query.CompileError) `between(t.start_date(), ^start_date, ^end_date)` is not a valid query expression.**
我怎样才能正确地做到这一点?
提前致谢!!
我认为 Ecto 没有提供 between
子句。您可以使用
where: t.start_date >= ^start_date,
where: t.start_date <= ^end_date
您可以使用 fragment
来执行此操作。
where: fragment("? BETWEEN ? AND ?", t.date, ^start_date, ^end_date)
https://hexdocs.pm/ecto/3.1.4/Ecto.Query.API.html#fragment/1