android sqlite'like'查询和模数表达式

时间:2015-10-14 02:38:49

标签: android sqlite sql-like

当我在android sql中使用LIKE查询时,我想要“包含”关于某些输入的查询。

db.query(TABLE,
         new String[]{COLUMN},
         CONDITIONS + " LIKE " + "?",
         new String[]{("%" + input + "%")},
         null
         null
         ORDER_COLUMN + " DESC",
         null);

查询运行良好,但是当我在输入中使用'%'字符时,它就像空字符串一样工作。

我想使用像普通字符串一样的'%'字符。

我该怎么办??

感谢。

1 个答案:

答案 0 :(得分:2)

使用LIKE y ESCAPE z表单为LIKE表达式指定转义字符,然后使用该转义字符为LIKE表达式中任何需要按字面意义取值的sqlite> create table t(a); sqlite> insert into t values('a%b'); sqlite> insert into t values('ab'); sqlite> insert into t values('aa%bb'); sqlite> select * from t where a like '%a\%b%' escape '\'; a%b aa%bb 作为前缀。例如:

<div ng-repeat="subItems in items">
    <div ng-repeat="subSubItems in subItems">
       <div ng-repeat="subSubSubItems in subSubItems">
          <input type="text" ng-model="subSubSubItems" />
       </div>
    </div>
</div>