【发布时间】:2015-09-29 22:21:34
【问题描述】:
我正在尝试在我的 rails 应用程序中执行 SQL 查询。以下内容正常执行,因为它正在寻找完全匹配:
connection.query("SELECT *
FROM test
WHERE y=#{connection.quote(name)}
ORDER BY x ASC")
我想使用 LIKE 运算符来查找部分匹配项。在 SQL 中它看起来像:
SELECT * FROM test WHERE y LIKE '%John%' ORDER BY x ASC
如何在我的 Ruby 查询中执行此操作?我尝试在几个地方添加%,但它不起作用。我收到错误提示我的查询正在寻找 %'John'% 而不是 '%John%'
connection.query("SELECT *
FROM test
WHERE y LIKE #{%connection.quote(name)%}
ORDER BY x ASC")
【问题讨论】:
-
@spickermann 我很感谢你标记这个,但对我来说,它看起来不像是相同的查询结构。通过阅读您标记的帖子,我认为我的查询可能写错了,或者更恰当地说,是不安全的。您能否重新打开此问题或向我解释如何将您引用的答案应用于我的连接字符串情况以删除额外的
'(撇号) - 谢谢!
标签: sql ruby-on-rails ruby