我有一个SQLite数据库,我试图按字母顺序排序。问题是,SQLite在排序过程中似乎没有考虑A = a,因此得到如下结果:
一个 乙 C Ť 一个 b C 克
我想得到:
一个 一个 b 乙 C C G Ť
我不知道需要做什么特殊的SQL事情?
SELECT * FROM NOTES ORDER BY title
答案 0 :(得分:230)
您也可以ORDER BY TITLE COLLATE NOCASE
。
修改:如果您需要指定ASC
或DESC
,请在NOCASE
之后添加
ORDER BY TITLE COLLATE NOCASE ASC
或
ORDER BY TITLE COLLATE NOCASE DESC
答案 1 :(得分:91)
您可以将所有内容转换为小写以进行排序:
SELECT * FROM NOTES ORDER BY LOWER(title);
如果你想确保大写字母仍然在小写字母之前结束,只需将其作为辅助排序添加:
SELECT * FROM NOTES ORDER BY LOWER(title), title;
答案 2 :(得分:0)
SELECT * FROM NOTES ORDER BY UPPER(title)