在我的Rails應用程序中,我有一個SQL查詢,用於在哪裏搜索查詢(params [:q])。我怎樣才能改變它,所以查詢/:q不能在行內的任何地方,但必須與它開始?這裏的代碼:SQL where子句'以'開始?
AccountNumber.where("account_number like?", "%#{params[:q]}%")
在我的Rails應用程序中,我有一個SQL查詢,用於在哪裏搜索查詢(params [:q])。我怎樣才能改變它,所以查詢/:q不能在行內的任何地方,但必須與它開始?這裏的代碼:SQL where子句'以'開始?
AccountNumber.where("account_number like?", "%#{params[:q]}%")
從字符串中刪除前導%
通配符。
AccountNumber.where("account_number like?", "#{params[:q]}%")
在前面
只需刪除 '%' 這樣的
AccountNumber.where("account_number like?", "#{params[:q]}%")
通配符 '%' 可以在查詢中的任何地方使用,以表明任何長度的字符串都可以在那裏找到。刪除第一個'%'以搜索僅以#{params [:q]}開頭而不是包含它的結果:
AccountNumber.where("account_number like?", "#{params[:q]}%")
完美! (在11分鐘內接受你的回答) –