Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS_SORT по числам / 3 сообщений из 3, страница 1 из 1
12.08.2019, 15:54
    #39848384
LVV5
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NLS_SORT по числам
Доброго дня!

Есть таблица, в нем поле NUMBER. Переменная NLS_SORT установлена в значение BINARY.

Запрос вида
Код: plsql
1.
select * from table order by col_num;



Сортирует по двоичному значению
Код: plsql
1.
2.
3.
4.
1
100
8
...


, а не по числу.

Явное преобразование к числу дает результат
Код: plsql
1.
2.
3.
4.
5.
select * from table order by to_number(col_num);
1
8
100
...



Если поле в таблице и так определено, как NUMBER, зачем нужно преобразование? И в чем тут подвох?
...
Рейтинг: 0 / 0
12.08.2019, 16:15
    #39848404
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NLS_SORT по числам
LVV5Если поле в таблице и так определено, как NUMBERТы заблуждаешься.
...
Рейтинг: 0 / 0
12.08.2019, 16:21
    #39848411
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NLS_SORT по числам
LVV5Сортирует по двоичному значению
Код: plsql
1.
2.
3.
4.
1
100
8
...


, а не по числу.Number и в "двоичном" представлении даст порядок:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select t.column_value n, rawtohex(t.column_value) h
from table(sys.odcinumberlist(1,8,100)) t
order by 2;

         N H                                           
---------- --------------------------------------------
         1 C102                                        
         8 C109                                        
       100 C202                                        
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS_SORT по числам / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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