LIite中的特殊字符与SQLite

时间:2012-12-05 06:59:35

标签: android sqlite special-characters sql-like

我想在数据库中搜索 $!(%&'^%$&'%^&&'^'%'

我尝试了以下查询,但仍显示错误:

select * from data
where data1 LIKE \'$!(%&'^%$&'%^&&'^'%'\'

select * from data
where data1 LIKE '$!(%&'^%$&'%^&&'^'%''

select * from data
where data1 LIKE '$!(%&\'^%$&\'%^&&\'^\'%\''

select * from data
where data1 LIKE '$!(%&\\'^%$&\\'%^&&\\'^\\'%\\''

select * from data
where data1 LIKE '$!(%&\'^%$&\'%^&&\'^\'%\'' ESCAPE '\'

2 个答案:

答案 0 :(得分:1)

谢谢大家。 我得到了答案。

String originalString = "$!(%&'^%$&'%^&&'^'%'";
String convertedString = DatabaseUtils.sqlEscapeString(num);

将此convertedString作为参数传递给查询。

答案 1 :(得分:0)

来自SQLite's documentation

  

字符串中的单引号可以通过在行中放入两个单引号来编码

所以加倍你的单引号,如下:

select * from data
where data1 LIKE "$!(%&''^%$&''%^&&''^''%''"

但老实说,我不得不多做一些阅读,看看我是否错过了其他任何特殊角色......