如果我的查询是使用sqlite3
SELECT * FROM table WHERE title LIKE '%x%'
它将匹配包含的字符串x。我想做x一个可绑定的参数,例如:
x
SELECT * FROM table WHERE title LIKE '%x?%'
但是,这是无效的,因为它''是字符串文字。是否有某种方式?可以在文字内转义?我知道我可以构建可绑定参数以包含%,然后使用
''
?
%
SELECT * FROM table WHERE title LIKE ?
但这将责任从处理SQL注入而不是绑定接口转移到了我的代码中。有更好的解决方案吗?
SELECT * FROM table WHERE title LIKE '%' || ? || '%';