2016-11-08 7 views
-1

私はチェコの言語のクエリを次ていますこれはsqliteのバグですか?

select Id,Name 
from Account 
where Name like '%Še%' 

それは私に正しい結果を返します。しかし、私は私のクエリでšŠを変更した場合:

select Id,Name 
from Account 
where Name like '%še%' 

それは何も返しません。これはsqliteバグですか?

+0

Dbのデータは、UPEERCASE LOWERCASEまたはBOTHですか? – Marco

+0

http://stackoverflow.com/questions/973541/how-to-set-sqlite3-to-be-case-insensitive-when-string-comparing – Marco

+0

Dbのデータは大文字です。そして、私が以下のクエリを実行すると、私はそれを返します: – spspli

答えて

4

https://www.sqlite.org/lang_expr.html#like

重要な注意:SQLiteは唯一、デフォルトではASCII文字の大文字/小文字を理解しています。 LIKE演算子は、ASCII範囲を超えているUnicode文字の場合、デフォルトで大文字と小文字を区別します。たとえば、 'a' LIKE 'A'という表現はTRUEですが、 'LIKE'Æ 'はFALSEです。 ICiteのSQLiteへの拡張には、すべてのUnicode文字にまたがる大文字と小文字を区別するLIKE演算子の拡張バージョンが含まれています。

したがって、問題の解決方法は、ICU拡張機能を備えたSQLiteのバージョンを取得することです。

関連する問題