powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сортировка длинных строк
6 сообщений из 31, страница 2 из 2
Сортировка длинных строк
    #36269554
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-orawishsubstr(a, 1,1000) descsubstr(a, 1, 999)
гы.. по 500 (а то, в следующий раз - глядишь, исчо распополамят )
...
Рейтинг: 0 / 0
Сортировка длинных строк
    #36269608
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishгы.. по 500 (а то, в следующий раз - глядишь, исчо распополамят )Еще workaround:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
alter session set nls_sort=russian;

with t as (
select lpad('a', 1000 ) x from dual
union all
select lpad('c', 1000 ) x from dual
union all
select lpad('b', 1000 ) x from dual
)
select ltrim(x),
   row_number() over(order by x  asc) rnasc,
   row_number() over(order by x desc) rndesc
from t
order by rnasc desc;

LTRIM(X)     RNASC                  RNDESC                 
------------ ---------------------- ---------------------- 
c             3                        2                       
b             2                        3                       
a             1                        1                       

 3  rows selected
Однако две сортировки туда-сюда.
...
Рейтинг: 0 / 0
Сортировка длинных строк
    #36269680
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

а у меня вот и asc накернился:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Oracle Database 11g Enterprise Edition Release  11 . 1 . 0 . 7 . 0  - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

 SQL> with t as (
   2   select lpad('э', 1000 ) x from dual
   3   union all
   4   select lpad('ю', 1000 ) x from dual
   5   union all
   6   select lpad('я', 1000 ) x from dual
   7   )
   8   select ltrim(x)
   9   from t
  10   order by  NLSSORT(x, 'NLS_SORT = RUSSIAN') asc;

LTRIM(X)
--------------------------------------------------------------------------------
э
я
ю
...
Рейтинг: 0 / 0
Сортировка длинных строк
    #36269708
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawish
Код: plaintext
1.
2.
э
я
ю
Похоже на desc от кои8
...
Рейтинг: 0 / 0
Сортировка длинных строк
    #36272768
KlugCZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если больше 2000 символов то даже nls_sort=binary не спасает!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
with t as (select lpad('a', 2001 ) x from dual
           union all
           select lpad('c', 2001 ) x from dual
           union all
           select lpad('b', 2001 ) x from dual
          )
select ltrim(x)
from t
order by  NLSSORT(x, 'NLS_SORT = BINARY') desc;
результат:
Код: plaintext
1.
2.
3.
a
b
c
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Сортировка длинных строк
    #39584242
fanat000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо всем за участие,
в будущем буду иметь ввиду данный нюанс.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сортировка длинных строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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