字符串文字中的Sqlite绑定

时间:2009-07-09 17:45:23

标签: sql binding sqlite

使用sqlite3,如果我的查询是

SELECT * FROM table WHERE title LIKE '%x%'

它将匹配包含x的字符串。我想让x成为可绑定参数,例如:

SELECT * FROM table WHERE title LIKE '%x?%'

但是,这不起作用,因为''形成一个字符串文字。有没有办法逃避文字中的??我知道我可以构建可绑定参数以包含%,然后使用

SELECT * FROM table WHERE title LIKE ?

但是这会在处理SQL注入而不是绑定接口方面将责任转移到我的代码中。对此有更好的解决方案吗?

1 个答案:

答案 0 :(得分:41)

SELECT * FROM table WHERE title LIKE '%' || ? || '%';