【问题标题】:In Ormlite, write case insensitive query在 Ormlite 中,编写不区分大小写的查询
【发布时间】:2011-08-22 03:50:40
【问题描述】:

在 Ormlite 中,是否可以在不编写实际 SQL 的情况下进行不区分大小写的查询?

例如,如果我正在寻找

列名 - “帐户名” 并在列上查询,如果我搜索“金融”,我想获得所有“金融”、“金融”、“金融”等的结果。

我想知道是否有对此的功能支持,或者我是否需要为其编写 SQL。

谢谢!

【问题讨论】:

    标签: ormlite


    【解决方案1】:

    我正在回答我自己的问题,但以下似乎可行。

    newDao.query(newDao.queryBuilder().where().like("nameColumn", "finance")
        .prepare())
    

    上面似乎返回了所有 “财务”、“财务”、“财务”或其任何其他变体。

    【讨论】:

    • 当然,使用 Like 代替 equal 可能 会阻止索引被使用。如果出现性能问题,请检查您的查询计划。
    【解决方案2】:

    目前(2011 年 5 月)除了编写实际的 SQL 和使用 queryRaw() 和其他原始方法之外,还没有使用 ORMLite 执行此操作的机制。

    在许多数据库中,例如 MySQL,case insensitivity looks to be the default。但PostgresqlOracle 的情况并非如此。

    对各种数据库实现的快速浏览表明,没有一种非常简单且可移植的方法来做到这一点。我错了吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 2014-03-25
      • 2012-09-22
      • 1970-01-01
      相关资源
      最近更新 更多