【问题标题】:Return sqlite DB without case sensitivity返回不区分大小写的sqlite DB
【发布时间】:2023-03-24 23:15:02
【问题描述】:

我坐在这里想知道如何在不区分大小写的情况下对我的数据库进行排序。 假设我有'A','a','B','b'。它将像这样打印:'A','B','a','b'。但我希望它以更人性化的方式排序。 这是我的光标函数:

/**
* Return a Cursor over the list of all brands in the database
* 
* @return Cursor over all brands sorted alphabetically 
+ TODO: doesn't sort alphabetically because it's case sensitive
*/
public Cursor fetchAllBrands() {

return mDb.query(Constants.DATABASE_TABLE, 
    new String[] { 
        Constants.KEY_ROWID, Constants.KEY_BRAND, Constants.KEY_STOCK 
    }, 
    null, null, null, null, Constants.KEY_BRAND);
}

我注意到Java 有CASE_INSENSITIVE_ORDER,但如果这是解决这个问题的方法,我不知道如何实现它。 有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    回复了here。 不幸的是,您似乎必须使用 rawQuery() 方法而不是使用 query() 包装方法。此方法允许您输入将像这样执行的原始 SQL 代码...

    db.rawQuery("SELECT " + Constants.KEY_ROWID + "," + Constants.KEY_BRAND + "," +
                 Constants.KEY_STOCK +
               " FROM " + Constants.DATABASE_TABLE +
               " ORDER BY " + Constants.KEY_BRAND + " COLLATE NOCASE ASC;", null);
    

    【讨论】:

    • 我希望不必使用 rawQuery。但我想这就是我必须做的。感谢您的回复 - 我会在几个小时后回家测试它。
    【解决方案2】:

    使用COLLATE NOCASE 尝试rawQuery(...)。示例...

    return mDb.rawQuery("SELECT " + Constants.KEY_ROWID + ","
                  + Constants.KEY_BRAND + ","
                  +  Constants.KEY_STOCK
                  + " FROM " + Constants.DATABASE_TABLE
                  + " ORDER BY " + Constants.KEY_BRAND + " COLLATE NOCASE", null);
    

    【讨论】:

      【解决方案3】:

      这样试试

      public Cursor fetchAllBrands() {
      
      return mDb.query(Constants.DATABASE_TABLE, 
      new String[] { 
          Constants.KEY_ROWID, Constants.KEY_BRAND, Constants.KEY_STOCK 
      }, 
      null, null, null, null, Constants.KEY_BRAND + " COLLATE NOCASE ASC");
      }
      

      【讨论】:

        猜你喜欢
        • 2017-03-17
        • 2013-03-06
        • 1970-01-01
        • 1970-01-01
        • 2017-10-28
        • 2012-06-30
        • 2013-06-14
        • 2013-04-25
        • 2014-10-17
        相关资源
        最近更新 更多