【问题标题】:SQL Where clause 'that begins with'?SQL Where子句'以'开头?
【发布时间】:2011-07-26 16:21:36
【问题描述】:
在我的 Rails 应用程序中,我有一个 SQL 查询,用于搜索查询的位置和喜欢的位置 (params[:q])。我怎样才能改变它,所以 query/:q 不能在行中的任何地方,但必须从它开始?代码如下:
AccountNumber.where("account_number like?", "%#{params[:q]}%")
【问题讨论】:
标签:
sql
ruby-on-rails
where-clause
where
【解决方案1】:
从字符串中删除前导 % 通配符。
AccountNumber.where("account_number like?", "#{params[:q]}%")
【解决方案3】:
通配符“%”可以在查询中的任何地方使用,表示可以在其中找到任意长度的字符串。删除第一个 '%' 以搜索仅以 #{params[:q]} 开头而不包含它的结果:
AccountNumber.where("account_number like?", "#{params[:q]}%")