我有一个SQLite数据库,想要按字母顺序排序。但是问题是,SQLite在排序时似乎不会将A=a视为相同,因此结果如下:
A B C T a b c g
我希望得到以下结果:
A a b B C c g T
需要进行特殊的SQL操作吗?
SELECT * FROM NOTES ORDER BY title
我有一个SQLite数据库,想要按字母顺序排序。但是问题是,SQLite在排序时似乎不会将A=a视为相同,因此结果如下:
A B C T a b c g
我希望得到以下结果:
A a b B C c g T
需要进行特殊的SQL操作吗?
SELECT * FROM NOTES ORDER BY title
ORDER BY TITLE COLLATE NOCASE
。
编辑:如果需要指定 ASC
或者 DESC
,在 NOCASE
之后加上即可。
ORDER BY TITLE COLLATE NOCASE ASC
或者ORDER BY TITLE COLLATE NOCASE DESC
<
、==
等运算符的工作方式。 - dan04您可以将所有内容转换为小写,以便进行排序:
SELECT * FROM NOTES ORDER BY LOWER(title);
如果您想确保大写字母仍然排在小写字母前面,只需将其作为二级排序添加即可。SELECT * FROM NOTES ORDER BY LOWER(title), title;
SELECT * FROM NOTES ORDER BY UPPER(title)