SQL Где предложение «начинается с»? - PullRequest
2 голосов
/ 26 июля 2011

В моем приложении rails у меня есть SQL-запрос, где и где я хочу искать запрос (params [: q]). Как я могу изменить его так, чтобы запрос /: q не мог находиться где-либо внутри строки, но должен начинаться с него? Вот код:

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

Ответы [ 3 ]

9 голосов
/ 26 июля 2011

Удалите начальный подстановочный знак % из строки.

AccountNumber.where("account_number like?", "#{params[:q]}%")
1 голос
/ 26 июля 2011

Подстановочный знак «%» можно использовать в любом месте запроса, чтобы указать, что там можно найти строку любой длины. Удалите первый '%' для поиска результатов, которые начинаются только с # {params [: q]}, а не содержат его:

AccountNumber.where("account_number like?", "#{params[:q]}%")
1 голос
/ 26 июля 2011

Просто удалите «%» спереди

как это

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

http://en.wikipedia.org/wiki/Percent_sign

...