sqlite C 语句格式

SQLite C++ statement format

本文关键字:格式 语句 sqlite      更新时间:2023-10-16

我正在使用C 中的SQLITE查询数据库。我想在选择语句中使用LIKE运算符,例如

SELECT * FROM table WHERE columnName LIKE '%abc%'

,但是我需要将上述语句中ABC的值绑定到查询。通常,对于普通语句,例如SELECT * FROM table WHERE columnName=@name,我们可以使用query.bind(@name, 'name');

但是对于LIKE操作员,我无法实现此功能。我不确定我是否应该将其作为'%@name%'?这不起作用并引发绑定错误异常。

任何建议都会真正有用,因为否则,我需要通过100行的整个搜索结果进行整个搜索结果,并从大字符串数组中检查每行以获取一个值。这个想法是将字符串数组元素作为LIKE操作员的绑定值,以搜索数据库并仅获取一行。

有什么想法?

非常感谢。

esash

您可以在绑定后添加百分比:

... WHERE Col Like '%' || ? || '%'

如果名称是变量,请使用以下操作:

name = "%" + name + "%";
query.bind("@name", name);