powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
20 сообщений из 20, страница 1 из 1
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550396
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия SQL Developer
Versioning 4.2.0.17.089.1709
Build 17.089.1709

Ясно, как должно быть, и есть подозрение, что можно подрегулировать числовыми или региональными настройками на время выполнения запроса.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select 'V. я' as n  from dual union all
    select 'VI.I я' as n  from dual union all
    select 'VI.II я' as n  from dual union all
    select 'VII. я'as n from dual union all
    select 'VIII. я' as n  from dual 
order by n
----------ответ
V. я
VI.I я
VII. я
VI.II я
VIII. я

Причём в реальном запросе (там в сортировке этот столбец второй) - и там 7-ка вообще раньше 6-ки
В ТОАДе всё ОК, и в нём удобнее, но у меня сейчас к Девелоперу доступ проще.

Не хочется тащить order_index в конечный резалт, что можно подрегулировать ?
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550429
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,
в oracle нет встроенного типа римские числа, поэтому идет сортировка как строк
порядок сортировки символов строк регулируется параметром
NLS_SORT, который, если явно не установлен, зависит от настройки NLS_TERRITORY
toad использует настройки Oracle Client, SQL*Developer настройки java, которая тянет эти настроки из системы.

авторПричём в реальном запросе (там в сортировке этот столбец второй) - и там 7-ка вообще раньше 6-ки
В ТОАДе всё ОК, и в нём удобнее, но у меня сейчас к Девелоперу доступ проще.


не верю, покажи результат, бо здесь используется банальный ASCII7, и разницы сортировки быть не должно
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550435
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе только кажется, что это числа. А предположение о "сортируемости" римского числа как строки выдаёт владение счётом на уровне первого класса.
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550442
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,

попробуйте тынц допилить до желаемого
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550443
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NLSSORT c union all без inline view не работает?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
column n format a30

with s as (
select 'v. я' as n  from dual union all
    select 'vi.i я' as n  from dual union all
    select 'vi.ii я' as n  from dual union all
    select 'vii. я'as n from dual union all
    select 'viii. я' as n  from dual )
select *
from s
order by  nlssort(n, 'NLS_SORT=BINARY');

N
------------------------------
v. я
vi.i я
vi.ii я
vii. я
viii. я


select 'v. я' as n  from dual union all
    select 'vi.i я' as n  from dual union all
    select 'vi.ii я' as n  from dual union all
    select 'vii. я'as n from dual union all
    select 'viii. я' as n  from dual
order by n;

N
------------------------------
v. я
vi.i я
vii. я
vi.ii я
viii. я


select 'v. я' as n  from dual union all
    select 'vi.i я' as n  from dual union all
    select 'vi.ii я' as n  from dual union all
    select 'vii. я'as n from dual union all
    select 'viii. я' as n  from dual
order by nlssort(n, 'NLS_SORT=BINARY');
order by nlssort(n, 'NLS_SORT=BINARY')
              *
ошибка в строке 6:
ORA-01785: аргумент ORDER BY должен быть номером выражения SELECT-списка

...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550446
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninв oracle нет встроенного типа римские числа

DocID 236825.1
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550463
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

Классно! не знал, спасибо
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550470
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad NLSSORT c union all без inline view не работает?
Да, тоже ORA-01785.

У Девелопера не только точка. Так же точно он и цифру вместо точки, и '_' вместо неё тоже. Это я уже после поста проверил.

Всё равно спасибо посмотрю варианты, успокаивает, что на рабочей базе будет через Клиента работать (Vadim Lejnin ). Если что, то подтяну order_index.

Vadim Lejnin , не верите? см. картинку

На этот раз Элик сел в лужу (тоже ведь скажет, что сел в машину, а не в лужу ...)
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550476
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу ссылки DocID 236825.1

Пожалуйста, научите, как это превратить в ссылку для браузера.
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550483
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98По поводу ссылки DocID 236825.1

Пожалуйста, научите, как это превратить в ссылку для браузера.
1. Получить у ответственного в Вашей организации доступ на support.oracle.com
2. Вбить указанный идентификатор документа в строку поиска

К сожалению, публикация этих документов здесь запрещена как вендором, так и правилами форума.
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550488
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98У Девелопера не только точка. Так же точно он и цифру вместо точки, и '_' вместо неё тоже. Это я уже после поста проверил.

Всё равно спасибо посмотрю варианты, успокаивает, что на рабочей базе будет через Клиента работать (Vadim Lejnin ). Если что, то подтяну order_index.

Vadim Lejnin , не верите? см. картинку

На этот раз Элик сел в лужу (тоже ведь скажет, что сел в машину, а не в лужу ...)

1. NLSSORT работает по-разному в зависимости от NLS-окружения. Да, пунктуация в некоторых окружениях вся собрана в кучу.
И нет, это не свойство клиента или приложения - просто они у вас работают с разным NLS-окружением.
Подробнее - в Globalization Support Guide

2. И что на картинке?
Полагаете, что VI в самом деле должна следовать за VII?
VII
VI
VIII

3. А вот про Elic напрасно - он, в отличие от Вас, тему NLS знает вдоль и поперек.
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550490
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно.
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550502
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,
я предполагал другое, что сортировка не выкидывает символы. А с выкидышами всё логично.

Про Элика я прав, если это не было тонким тролингом с его стороны. Надеюсь, от него не убудет.
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550517
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98Про Элика я прав, если это не было тонким тролингом с его стороны.
Ну попробуйте его опровергнуть, вот Вам набор данных:
Код: plsql
1.
2.
3.
with t as (select rownum N, to_char(r,'RN') RN from dual connect by level < 1000)
select * from t 
order by rn
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550550
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,
я не собирался развивать тему Маэстро ... Я знаю, что не читал оракловых подробностей о сортировке, я много чего не читал и даже не подозреваю о существовнии. Ваш пример опровергнуть наверное не получится.

Спасибо всем за разъяснения и уделённое мне время.

Всё ниже промелькнуло в башке мгновенно, после чего я и вынес тот свой вердикт, можно не читать.
Чтобы положить спору конец, рассмотрим фразу буквально:
"Тебе только кажется, что это числа. А предположение о "сортируемости" римского числа как строки выдаёт владение счётом на уровне первого класса."

1-е предложение, прочтённое буквально, неверно, мне это не казалось ни мгновения.
2-е предложение в наиболее непротиворечивой интерпретации:
посылка а) я предполагаю, что речь идёт римских числах. Неверно, см. выше.

посылка б) речь о сортировке числа(?) как строки, и я так предполагал. Из этого почему-то сделан вывод о не владении счётом, хоть арабским, хоть римским, хоть ... р-адическим. Таки я не предполагал, что речь идёт о числах, хоть каких. Снова, как Вы поняли, неверный вывод. Что я писал про числовые настройки, я имел ввиду сугубо точку в качестве разделителя для обычной десятичной записи, и что вдруг это как-то сказывается.

И вообще причём здесь какой-то счёт?

посылка в)
Единственное рациональное зерно во 2-м предложении, с т.зр. моего незнания темы , могло заключаться в том, что оракле, встречая в поле VI.I, проявляет "умничание", и что это поведение связано с NLS. И что это поведение имелось ввиду между строк. Но и в этом случае, вывод о владении счётом чрезвычайно завауалированно связан с намёком. И опять же, причём здесь счёт?

Т.о. фраза в целом является "навозной кучей", копаться в к-рой можно лишь при желании непременно найти жемчужное зерно и при уверенности, что оно там действительно было. Но коль скоро Маэстро дйствительно имел ввиду именно это и одновременноименно так оценивал мои знания, то вот вопрос, в какой же срок он оценивал длительность моего копания?

Исходя из достаточно большого для маленькой фразы кол-ва неудачных посылок, я мгновенно решил, что искать глубинный смысл не стоило (а теперь уже и не нужно), и моё обоснованое замечание по сравнению с предположительными "предположениями" Маэстро обо мне, выглядит вполне невинно и очевидной шуткой. Попробуйте опровергнуть.

А стоило ли искать глубинный смысл, знает только автор, но рассчитывать на правду маловероятно, и в культурном сообществе лучше эту тему не продолжать.
ИМХО
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550721
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninandrey_anonymous,

Классно! не знал, спасибо

что за числа?

знал токо месяц и "год" (rm/rn)

ps
счас доступ на металинк для меня закрыли

....
stax
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550738
Staxсчас доступ на металинк для меня закрыли
Я бы и сюда тебе доступ закрыл.
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550768
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто требStaxсчас доступ на металинк для меня закрыли
Я бы и сюда тебе доступ закрыл.

к етому все идет, не долго осталось

.....
stax
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550954
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxVadim Lejninandrey_anonymous,

Классно! не знал, спасибо

что за числа?

знал токо месяц и "год" (rm/rn)

ps
счас доступ на металинк для меня закрыли

....
staxА там как раз про год и идет
Твое сообщение тринадцатилетней давности работа с датами

Ну и обратная функция чуток другая
...
Рейтинг: 0 / 0
SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
    #39550971
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровА там как раз про год и идет
Твое сообщение тринадцатилетней давности работа с датами

Ну и обратная функция чуток другая

спасибо

но ето не совсем встроенный тип

.....
stax
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SQL Developer: неправильная сортировка Римских чисел с точкой (VI.I)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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