【发布时间】:2011-06-22 11:58:07
【问题描述】:
只是想知道是否有一种方法可以对忽略大小写的查询结果进行排序。因为此时以大写字母开头的字段被排序并放在列表顶部,以小写字母开头的字段也被排序但放在大写字段之后。
谢谢—— 迈克
【问题讨论】:
标签: android sqlite sorting uppercase lowercase
只是想知道是否有一种方法可以对忽略大小写的查询结果进行排序。因为此时以大写字母开头的字段被排序并放在列表顶部,以小写字母开头的字段也被排序但放在大写字段之后。
谢谢—— 迈克
【问题讨论】:
标签: android sqlite sorting uppercase lowercase
ORDER BY column COLLATE NOCASE;
【讨论】:
SQLiteException: near "COLLATE": syntax error: , while compiling: SELECT * FROM table ORDER BY column ASC COLLATE NOCASE。解决方法是去掉ASC,只有在DESC时才指定方向。
COLLATE NOCASE ASC。
在 Android 上,您会得到一个名为 LOCALIZED 的排序函数。
指定列时,请执行以下操作:
CREATE TABLE song(..., title TEXT COLLATE LOCALIZED ASC, ...)
效果很好。如果您有 Android 源代码,只需搜索“COLLATE”即可查看各种示例。
【讨论】:
将所有条目转换为小写例如:select name from table order by LCASE(name)
LCASE 或 LOWER(检查文档)
【讨论】: