Android sort sqlite query results ignoring case

2019-02-04 06:03发布

问题:

just wondering if theres a way of sorting the results of a query ignoring case. Cause at the moment fields starting with an upper case letter are sorted and put on top of the list and fields starting with lower case letter are also sorted but are put after the upper case fields.

Thanks -- Mike

回答1:

ORDER BY column COLLATE NOCASE;

See http://www.sqlite.org/datatype3.html#collation



回答2:

Convert all entries to lower case for example: select name from table order by LCASE(name)

LCASE or LOWER (Check documentation)



回答3:

On the Android you are given a collation function called LOCALIZED.

When you specify your column, do the following:

CREATE TABLE song(..., title TEXT COLLATE LOCALIZED ASC, ...)

It works great. If you have the Android source code, just do a search for "COLLATE" to see all sorts of examples.