使用sqlite3,如果我的查询是
SELECT * FROM table WHERE title LIKE '%x%'
它将匹配包含x
的字符串。我想让x
成为可绑定参数,例如:
SELECT * FROM table WHERE title LIKE '%x?%'
但是,这不起作用,因为''
形成一个字符串文字。有没有办法逃避文字中的?
?我知道我可以构建可绑定参数以包含%
,然后使用
SELECT * FROM table WHERE title LIKE ?
但是这会在处理SQL注入而不是绑定接口方面将责任转移到我的代码中。对此有更好的解决方案吗?
答案 0 :(得分:41)
SELECT * FROM table WHERE title LIKE '%' || ? || '%';