use*_*169 10 elixir ecto phoenix-framework
我试图在数据库中搜索一个字符串是否匹配数据库中另一个字符串的一部分.我可以让它匹配,如果两个确切使用ilike,但当我只搜索字符串的一部分时,它不会捕获包含它的数据.以下是我的代码查询的代码:
servicesstate = Repo.all(from p in Callme.Service, where: ilike(p.locations, ^zip.state))
Run Code Online (Sandbox Code Playgroud)
当价值准确时它会匹配("南卡罗来纳州","南卡罗来纳州"),但我希望它匹配的时候("位于南卡罗来纳州","南卡罗来纳州")
谢谢
Dog*_*ert 18
您可以使用%LIKE/ILIKE 的语法:
servicesstate = Repo.all(from p in Callme.Service, where: ilike(p.locations, ^"%#{zip.state}%"))
Run Code Online (Sandbox Code Playgroud)
请注意,如果zip.state包含a ,则无法正常工作%.如果它可以包含%,你将不得不使用Ecto.Query.API.fragment/1与像查询此.
| 归档时间: |
|
| 查看次数: |
3238 次 |
| 最近记录: |