【问题标题】:Android SQLite - Match multiword stringAndroid SQLite - 匹配多字字符串
【发布时间】:2014-02-25 11:26:06
【问题描述】:

我在 mytable 中有一行,其值为 '{"test":"Hello World"}'column1 中。 p>

如果我用

搜索数据库
SELECT * 
FROM mytable 
WHERE column1 LIKE '%Hello World%'

我什么也得不到。如果我将查询更改为

SELECT * 
FROM mytable 
WHERE column1 LIKE '%Hello%'.

我得到了结果,但这不是我想要的,因为这会返回不需要的行。

两个单词之间的空格字符有问题吗?

我的代码如下所示:

Cursor cursor=db.rawQuery("SELECT * FROM mytable WHERE column1 LIKE '%Hello World%'",null);
if(cursor.moveToFirst()) {
    while(cursor.moveToNext()) {
        //log results
        ...
    }
}

【问题讨论】:

标签: android sql sqlite sql-like


【解决方案1】:
if(cursor.moveToFirst()) {
    while(cursor.moveToNext()) {

这样的代码会跳过第一行。相反,这样做:

if (cursor.moveToFirst()) {
    do {
        //...
    } while (cursor.moveToNext());
}

【讨论】:

    【解决方案2】:

    首先

    SELECT * FROM mytable WHERE column1 LIKE '%Hello World%'
    

    在 SQLite 数据库浏览器中为我工作 (http://portableapps.com/apps/development/sqlite_database_browser_portable)。

    您也可以使用修剪功能:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-03
      • 2010-09-30
      • 1970-01-01
      • 2013-12-24
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多