2011-05-10 9 views
4

Ormliteでは、実際のSQLを記述することなく大文字小文字を区別しないクエリを作成できますか?例えばOrmliteでは、大文字と小文字を区別しないクエリを書く

、私は

列名を探していた場合 - 「アカウント名」 と列のクエリ、私はすべての「財務」、「金融」、「金融」、などの結果を取得したいと思い私が "finance"で検索したら。

私はそこに機能的なサポートがあるのか​​、それともSQLを書く必要があるのだろうかと思いました。

ありがとうございました!

答えて

17

私自身の質問に答えていますが、以下のように動作するようです。

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

は、上記のすべての 「金融」、「金融」、「金融」、またはそれの任意の他のバリエーションを返しているようです。

+0

もちろん、equal *の代わりにLikeを使用すると、インデックスが使用されない可能性があります。パフォーマンス上の問題が発生した場合は、クエリプランを確認してください。 –

1

現時点では(2011年5月)実際のSQLを記述し、queryRaw()とその他のrawメソッドを使用する点を除いて、ORMLiteでこれを行うメカニズムはありません。

たとえば、多くのデータベースでは、MySQLはcase insensitivity looks to be the defaultです。しかし、PostgresqlでもOracleでもそうではありません。

さまざまなデータベースの実装をすばやく見てみると、これを行うための非常に簡単で移植可能な方法はないことがわかります。私が間違っている?

関連する問題