如何在sqlite中转义%符号?

时间:2014-04-27 02:27:15

标签: sqlite

我使用LIKE子句进行全文搜索,文本可以包含'%'。

在sqlite数据库中搜索%符号的好方法是什么?

我确实尝试了

SELECT * FROM table WHERE text_string LIKE '%[%]%' 

但这在sqlite中不起作用。

2 个答案:

答案 0 :(得分:6)

来自SQLite documentation

  

如果存在可选的ESCAPE子句,则ESCAPE关键字后面的表达式必须求值为由单个字符组成的字符串。此字符可以在LIKE模式中使用,以包括文字百分比或下划线字符。转义字符后跟百分号(%),下划线(_)或转义字符本身的第二个实例分别与文字百分号,下划线或单个转义字符匹配。

答案 1 :(得分:3)

我们可以通过以下查询实现相同的目标

SELECT * FROM table WHERE instr(text_string, ?)>0

此处:

? => your search word

示例:

您可以直接提供文字,例如

SELECT * FROM table WHERE instr(text_string, '%')>0

SELECT * FROM table WHERE instr(text_string, '98.9%')>0等。

希望这会有所帮助。