【问题标题】:android sqlite 'like' query and modulo expressionandroid sqlite 'like' 查询和模表达式
【发布时间】:2015-10-14 02:38:49
【问题描述】:

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

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

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

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

我该怎么办?

谢谢。

【问题讨论】:

    标签: android sqlite sql-like


    【解决方案1】:

    使用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
    

    【讨论】:

    • 谢谢。但这意味着任何一个角色都需要转义?我想搜索所有字符使用,如查询。
    • 是的,您需要为此选择一个角色。
    • 哦,我明白了。祝你有美好的一天:)
    猜你喜欢
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 2011-09-26
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多