嗨我在
Ruby On Rails中使用LIKE子句,当我尝试通过键入“more”来搜索记录时它不会返回任何内容,但是当我使用“More”时,它会返回包含More keyword的记录,所以它似乎表现为区分大小写,
现在我的问题是我们可以将它设为Case-Insensitive,如果是,请告诉我.
现在我的问题是我们可以将它设为Case-Insensitive,如果是,请告诉我.
这是我目前使用的查询:
Job.where('title LIKE ? OR duration LIKE ?',"%#{params[:search]}%","%#{params[:search]}%")
谢谢.
解决方法
我假设你正在使用Postgres.
你可以使用ILIKE
Job.where('title ILIKE ? OR duration ILIKE ?',"%#{params[:search]}%")
或者一些棘手的黑客():
Job.where('lower(title) LIKE lower(?) OR lower(duration) LIKE lower(?)',"%#{params[:search]}%")