SQL Where子句';以';开头;?

SQL Where子句';以';开头;?,sql,ruby-on-rails,where-clause,where,Sql,Ruby On Rails,Where Clause,Where,在我的rails应用程序中,我有一个SQL查询,用于搜索查询(params[:q])。如何更改它,使query/:q不能位于行中的任何位置,但必须以它开头?代码如下: AccountNumber.where("account_number like?", "%#{params[:q]}%") 从字符串中删除前导的%通配符 AccountNumber.where("account_number like?", "#{params[:q]}%") AccountNumber.where("ac

在我的rails应用程序中,我有一个SQL查询,用于搜索查询(params[:q])。如何更改它,使query/:q不能位于行中的任何位置,但必须以它开头?代码如下:

 AccountNumber.where("account_number like?", "%#{params[:q]}%")

从字符串中删除前导的
%
通配符

AccountNumber.where("account_number like?", "#{params[:q]}%")
AccountNumber.where("account_number like?", "#{params[:q]}%")

只需删除前面的“%”

像这样

AccountNumber.where("account_number like?", "#{params[:q]}%")

可以在查询中的任何位置使用通配符“%”,以指示可以在那里找到任意长度的字符串。删除第一个“%”以搜索仅以#{params[:q]}开头而不包含它的结果: