Данные для заказа, почему строчные буквы появляются последними
Почему при заказе данных в SQL Developer данные с разрешенными строчными буквами появляются последними?
например
Адам, Бен, Шарлотта, Мэтью, Эмили
Почему не так: Адам, Бен, Шарлотта, Эмили, Мэтью?
Я не обязательно хочу, чтобы ответ просто изменил его, но почему это происходит? Есть ли параметр, который отмечен, чтобы это произошло, или он делает это по умолчанию, если вы не напишете заявление, чтобы он этого не делал?
1 ответ
Заказ в базе данных использует сопоставление. Как правило, параметры сортировки указываются на уровне базы данных, но могут быть на уровне полей таблицы и на уровне запросов.
Сличение - это порядок символов, используемых культурой в сценарии системы письма. Если бы сама система письменности человека не определяла порядок между двумя символами, сопоставление, скорее всего, вернулось бы к лексикографическому порядку, основанному на наборе символов сопоставления. (Люди ожидают последовательности даже в отсутствие правил, о которых они знают.)
Многие системы сортировки включают как чувствительные к регистру, так и нечувствительные к регистру, а также чувствительные к ударению и нечувствительные к ударению параметры сортировки. (Таким образом, до 2 х 2 сопоставлений для одной культуры и набора символов.)
Итак, где-то в вашей системе указана чувствительность к регистру. Вы можете заказать для своего пользователя (себя, в данном случае?) Предпочтительную культуру, чувствительность к регистру и чувствительность к акценту. Но выбирайте из сопоставлений для того же набора символов, что и данные, потому что преобразования набора символов могут быть с потерями, если источник не является подмножеством цели.
См. Документацию PL/SQL по сопоставлениям.