アルファベット順で並べ替えようとしている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
ソートの目的ですべてを小文字に変換することができます:
SELECT * FROM NOTES ORDER BY LOWER(title);
大文字のものが小文字のものよりも先に終わることを確認したい場合は、それを2次ソートとして追加します。
SELECT * FROM NOTES ORDER BY LOWER(title), title;
SELECT * FROM NOTES ORDER BY UPPER(title)