[android-developers] Re: SQLite and Collate UNICODE
If you want to do case insensirtive search you should perhaphs rewrite
your statement as:
select * from authors a where UPPER(a.family_name) = 'LE GUIN'
Collate
UNICODE
That will be better, but it will work for only characters in the 0-255
range. I have the same issue in my app, with no workaround, for my
Russian users where this doesn't work for Cyrillic text.
On Feb 25, 9:55 am, Grunthos <p...@rhyme.com.au> wrote:
> Hi,
>
> In SQLite under Android 2.1 and 2.2 I have been using 'Collate
> UNICODE' to sort and compare values; for sorting it does what I expect
> -- it is case-insensitive, and handles the expanded character set
> well.
>
> But for comparisons, eg. f = 'something' where f is a text field, it
> seems to NOT do case-blind comparions.
>
> Specifically:
>
> On table authors(..., family_name text,...);
>
> I searched for
>
> select * from authors a where a.family_name = 'Le Guin' Collate
> UNICODE
>
> and it returned 0 rows even though there was an entry with family_name
> = 'le Guin'.
>
> Am I missing something here? Should I be wrapping both sides of the
> '=' in a call to 'Upper()'. I thought that the UNICODE collator for
> SQLite was case-insensitive.
>
> If I do wrap both sides in calls to 'Upper()', am I correct in
> assuming indexes will not be used?
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home