That's kind of sad; my reading of the 'Collate UNICODE' stuff suggested it was designed specifically to deal with this issue.
Is this a bug, or WAI? On 25/02/2011 6:11 PM, Zsolt Vasvari wrote: > 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 <[email protected]> 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

