如何在SQL查询中转义"@"查询.
我正在使用ActiveRecord(3).
suite_scenarios = Scenario.where(suite_id: suite_id)
tag_pair = ["@regression","@daily_feature"]
tag_pair_scenarios = suite_scenarios.where("metadata LIKE '%#{tag_pair[0]}%'").where("metadata LIKE '%#{tag_pair[1]}%'")
Run Code Online (Sandbox Code Playgroud)
借用这个解释如何使用占位符条件构造ILIKE查询的答案,您似乎可以构建您的查询,如下所示:
suite_scenarios.
where("metadata LIKE '%' || ? || '%'", tag_pair[0]).
where("metadata LIKE '%' || ? || '%'", tag_pair[1]")
Run Code Online (Sandbox Code Playgroud)
如果tag_pair来自用户输入(表单参数),这还有保护您免受SQL注入的额外好处.