На что установлено NLS_SORT ? (select sys_context('USERENV', 'NLS_SORT') from dual
). Если это BINARY
, то порядок сортировки основан на числовом значении каждого символа, поэтому он зависит от набора символов базы данных. Если это что-то еще, вы можете переопределить это.
Вы можете изменить порядок сортировки на уровне базы данных или сеанса, изменив этот параметр, но вы также можете изменить его для одного запроса:
order by nlssort(test,'NLS_SORT=BINARY')
В зависимости от набора символов вам может потребоваться поэкспериментировать с другими значениями вместо BINARY
. Вы можете получить список всех допустимых значений с помощью select value from v$nls_valid_values where parameter = 'SORT'
. Но обратите внимание на потенциальную производительность, упомянутую в документации NLS_SORT.
Функция nlssort()
задокументирована здесь .