【问题标题】:Issue in sqlite with "like" in androidandroid中带有“like”的sqlite问题
【发布时间】:2012-11-10 04:19:17
【问题描述】:

sqlite 中没有类似操作符 [ ]。

例如

select * from user where name LIKE '%[abch]%';

这项工作是所有其他的sqlserver,oracle不是sqlite

有人知道sqlite 中的替代方法吗?

我正在使用安卓系统。

我认为我不能使用 regexp,因为我使用的是 android

【问题讨论】:

    标签: android sql sqlite


    【解决方案1】:

    sqlite 仅支持一小部分常规 sql。 http://www.sqlite.org/lang_expr.html

    请参阅Query Android's SQLiteDatabase using Regex,了解如何在 Android 上使用正则表达式。

    简短的回答,不要打扰。您可以将like 用于基础知识以及您真正不应该使用正则表达式的任何其他内容。

    你总是可以这样做 select * from user where name LIKE '%a%' or name LIKE '%b%' or name LIKE '%c%' or name LIKE '%h%' ;

    【讨论】:

    • 问题是我举了一个简单的例子,但我需要像 thiselect * 这样的用户名 LIKE '%[abc2][def3][fha][klm]%' 和更大的它
    • 您扫描了多少行,为什么?您可能需要考虑安装一个正则表达式函数,或者如果您设置的足够小,您可以在 java 中执行此操作。或者,您可以重组表并一起避免这个问题
    • 我在 android 中使用联系人的 bd 我无法重组这个 bd
    • 我如何使用像三星电话簿这样的拨号按钮对用户进行过滤
    猜你喜欢
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2013-04-04
    • 2015-08-11
    • 2020-07-04
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多