2011-07-26 25 views
2

在我的Rails應用程序中,我有一個SQL查詢,用於在哪裏搜索查詢(params [:q])。我怎樣才能改變它,所以查詢/:q不能在行內的任何地方,但必須與它開始?這裏的代碼:SQL where子句'以'開始?

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

回答

9

從字符串中刪除前導%通配符。

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

完美! (在11分鐘內接受你的回答) –

1

通配符 '%' 可以在查詢中的任何地方使用,以表明任何長度的字符串都可以在那裏找到。刪除第一個'%'以搜索僅以#{params [:q]}開頭而不是包含它的結果:

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