如何在SQL查询中转义"@"查询。
我正在使用活动记录(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]}%'")
借用这个解释如何使用占位符条件构造 ILIKE 查询的答案,似乎您可以像这样构造查询:
suite_scenarios.
where("metadata LIKE '%' || ? || '%'", tag_pair[0]).
where("metadata LIKE '%' || ? || '%'", tag_pair[1]")
这还有一个额外的好处,那就是保护你免受SQL注入的影响,以防tag_pair
来自用户输入(表单参数(。