У меня есть запрос для базы данных sqlite3, которая предоставляет отсортированные данные. Данные сортируются на основе столбца, который является столбцом «Имя». Теперь, когда я делаю запросКак изменить сортировку базы данных sqlite3 для незаметного сортировки регистра?
select * from tableNames Order by Name;
Он предоставляет такие данные.
Pen Stapler pencil
Означает, что он рассматривает материал, чувствительный к делу. Способ, который я хочу, следующий:
Pen pencil Stapler
Итак, какие изменения следует внести в базу данных sqlite3 для получения необходимых результатов?
Связанные How to set Sqlite3 to be case insensitive when string comparing?
Будет ли «COLLATE NOCASE» работать на любом языке? Если нет, то как можно сортировать текстовое поле без учета регистра, если конкретный язык не известен во время компиляции? –
IIRC sqlite3 является изначально UTF-8, поэтому сопоставление должно происходить в соответствии с правилами Unicode UTF-8. Это может, конечно, не быть тем, чего ожидал пользователь ... –
@moodforaday: Не со встроенной сортировкой NOCASE. Вы можете переопределить классификацию NOCASE в своем приложении и выполнить сортировку на основе текущей локали системы/пользователя. Просто назовите свою собственную сортировку «NOCASE». – wqw