powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / UKRAINIAN и Сортировка
20 сообщений из 45, страница 2 из 2
UKRAINIAN и Сортировка
    #40125172
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все необходимые знания есть по приведенной выше ссылке.
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125173
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже так будет лучше, еще правильно числа отсортирует
Код: sql
1.
ORDER BY CASE WHEN REGEXP_LIKE(str, '^\W') then 1 END, TO_NUMBER(REGEXP_SUBSTR(str, '^\d+')), nlssort(str, 'NLS_SORT = UKRAINIAN')


Пример
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125174
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous
Все необходимые знания есть по приведенной выше ссылке.

Скорее всего у меня недостаточно знаний чтобы это понять, а решение настолько сложное, что никто его даже привести не может.
Или остальные тоже не могут его понять?
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125175
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас есть три пути:
- Изучить имеющиеся штатные варианты сортировки (binary, Monolingual Collation, Multilingual Collation, UCA Collation) и скомпоновать строку с нужными модификаторами.
- Если из готовых кубиков конструктор не собирается - создать собственный collation посредством штатного Locale Builder
- Продолжать ныть по форумам и стучать себе в бубен translate-ом, regexp_replace-ом или любым другим инструментом, пытаясь приспособить их под свои нужды.

Выбор только за Вами.
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125176
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

Спасибо, попробую более детально погрузиться в проблему.
Но исходя из того, что такого решения нет ни на этом форуме, ни вообще в интернет - решение будет ой как не простое, если вообще будет.
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125178
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
У Вас есть три пути:
Выбор только за Вами.


И для начала понять что '11' это строка а не число и строки сравниваются слева направо (по-байтно или по-символьно взависимости от NLS_SORT). Посему '1-a' < '11' если '-' предшествует цифрам в данной collation.

SY.
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125179
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY
Посему '1-a' < '11' если '-' предшествует цифрам в данной collation.
До сегодняшнего дня я тоже был в этом уверен, но меня разуверили и даже привели примеры, что это не так - см. выше.
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125180
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiWНо исходя из того, что такого решения нет ни на этом форуме, ни вообще в интернет

А почему у меня в гугле второй строкой ссылка на
https://zukus.blogspot.com/2010/12/customizing-locale-data-nlssortukrumix.html ?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125181
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Это я читал еще до обращения на форум, но мне этот вариант не подходит - отказ (sysdba).
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125194
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiW
если вообще будет.

Ммм? Должно быть, я не очень внимательно читал, но чем не подходят те же
Код: plsql
1.
2.
UCA0700_ORADUCET_S3_VN_BN_NY_EN_FN_HN_DN_MN
UCA0700_ORADUCET_S4_VS_BN_NY_EN_FN_HN_DN_MN


или, если версия позволяет,
Код: plsql
1.
2.
UCA1210_ORADUCET_S3_VN_BN_NY_EN_FN_HN_DN_MN
UCA1210_ORADUCET_S4_VS_BN_NY_EN_FN_HN_DN_MN



...Вы тут про MySQL что-то говорили.
У них с лингвистической сортировкой всё то же самое, но со своими заморочками.
"по умолчанию" - смешно, да. А лингвистическая ли это была сортировка или binary? А если binary - то на каком именно characterset? Быть может, Ваши проблемы решаются аналогично - подбором подходящей кодировки БД и бинарной сортировкой?
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125203
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous
Ваши проблемы решаются аналогично - подбором подходящей кодировки БД и бинарной сортировкой?
Именно это я и хочу, но пока не могу найти того что нужно.
Я еще разбираюсь с этим. Предложенные варианты очень похожи на то, что нужно, но есть два небольших недостатка:
1. Сначала идет нижний регистр (а), потом верхний (А).
2. Сначала "11", потом "1-а".
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125204
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous
"по умолчанию" - смешно, да.
По умолчанию я имел ввиду использование необходимой кодировки. Для oracle я ожидал использование "UKRAINIAN".
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125214
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiWэтот вариант не подходит - отказ (sysdba).

Значит у Вас остаётся один вариант: получать от оракула несортированные данные и
потом сортировать их любым доступным и желаемым способом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125217
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiW
SY
Посему '1-a' < '11' если '-' предшествует цифрам в данной collation.
До сегодняшнего дня я тоже был в этом уверен, но меня разуверили и даже привели примеры, что это не так - см. выше.


Ткни - не вижу. И еще раз, твое "Сортировка должна быть именно так как указано в "abc": Символы, Числа , Латинский алфавит, Украинский алфавит" вкупе с "Почему 11 идет раньше 1-а" показывает что ты не понимаешь сортировку строк. Ну нет чисел в строках - есть только символы цифр. Строки сортируются слева направо побайтно при BINARY SORT и посимвольно при LINGUISTIC SORT. Посему какая-бы ни была collation sequence строки '13', '25', '34', '47' всегда будут перед строкой '5'.

SY.
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125220
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY,

Я все понял, я смотрел кодировку UCA1210_ORADUCET_S4_VS_BN_NY_EN_FN_HN_DN_MN.
Для кодировки UCA1210_ORADUCET_S3_VN_BN_NY_EN_FN_HN_DN_MN замечания п.2 снимается.
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125221
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYСтроки сортируются слева направо побайтно при BINARY SORT и посимвольно при
LINGUISTIC SORT.

Если быть совсем точным и копать вглубь, то таки слева направо побайтно всегда
сравниваются ключи строк (то, что выдаёт NLSSORT), а вот как строка
преобразуется в этот ключ - и есть забота COLLATION. И таки да, если, например,
ICU указан атрибут numeric-sort, то "13" будет после "5".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125225
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем! Вроде разобрался (немного) с кодировками.
Мне подходит UCA1210_ORADUCET_S1_VN_BN_NY_EN_FN_HN_DN_MN
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40125229
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже я так и не разобрался в сортировке.
При DESC уже сортирует неправильно Я и Є. :(
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40126101
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiW
Добрый день!
Насколько я понял, решения, без танцев з бубном, для сортировки Украинского алфавита и цифр в Oracle не существует или я не нашел решения?
Код: plsql
1.
nlssort(FieldName, 'NLS_SORT = UKRAINIAN')

Не работает - цифры в конце списка.

Поговорите с вашим руководителем.

Создается впечатление, что вы создали придуманную проблему на пустом месте
и теперь тратите на неё своё рабочее время и деньги вашей компании. :-(
...
Рейтинг: 0 / 0
UKRAINIAN и Сортировка
    #40126115
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus

Создается впечатление, что вы создали придуманную проблему на пустом месте

Сильно зависит от гавбуха
у меня реально было, хочу вот так, ну и делал вот так

зы
но я очень рано нарвался


.....
stax
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / UKRAINIAN и Сортировка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]