如何使用SQL Order By语句对结果进行排序不区分大小写?

时间:2010-03-09 23:30:56

标签: sql sqlite sorting sql-order-by

我有一个SQLite数据库,我试图按字母顺序排序。问题是,SQLite在排序过程中似乎没有考虑A = a,因此得到如下结果:

一个 乙 C Ť 一个 b C 克

我想得到:

一个 一个 b 乙 C C G Ť

我不知道需要做什么特殊的SQL事情?

SELECT * FROM NOTES ORDER BY title

3 个答案:

答案 0 :(得分:230)

您也可以ORDER BY TITLE COLLATE NOCASE

修改:如果您需要指定ASCDESC,请在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)