我有一个 SQLite 数据库,我试图按字母顺序排序。问题是,SQLite 在排序时似乎不考虑 A = a,因此我得到的结果是这样的:
A B C T 一 B C 克
我想得到:
A 一 B B C C 克 T
什么特殊的 SQL 事情需要做,我不知道吗?
SELECT * FROM NOTES ORDER BY title
为了进行排序,您可以将所有内容都转换为小写:
SELECT * FROM NOTES ORDER BY LOWER(title);
如果你想确保大写字母仍然排在小写字母之前,只需要添加一个次要的排序:
SELECT * FROM NOTES ORDER BY LOWER(title), title;
你也可以做 ORDER BY TITLE COLLATE NOCASE。
ORDER BY TITLE COLLATE NOCASE
Edit: If you need to specify ASC or DESC, add this after NOCASE like
ASC
DESC
NOCASE
ORDER BY TITLE COLLATE NOCASE ASC
或者
ORDER BY TITLE COLLATE NOCASE DESC
SELECT * FROM NOTES ORDER BY UPPER(title)