|
Сортировка чисел с разделителями в текстовом поле
|
|||
---|---|---|---|
#18+
Доброе время суток, форумчане. авторИсходные данные: MS SQl server Таблица с иерархическими данными, связи в которой обеспечены двумя полями: id и id_parent. id_parent содержит id родителя. Есть текстовое поле, где хранятся порядковые номера вида "1.1.2.3.". Вопрос в том как отсортировать таблицу по возрастанию этих номеров, если они воспринимаются как текст. Пример НЕПРАВИЛЬНО: автор1. 1.1. 10.1. 2.1. ПРАВИЛЬНО автор1. 1.1. 1.1.1. 2.1. ... 10.1. 10.2. Рекурсивный запрос по 12тыс. строк выполняется более 5 минут и как действующее решение не подходит ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 22:56 |
|
Сортировка чисел с разделителями в текстовом поле
|
|||
---|---|---|---|
#18+
Anton_1988 Рекурсивный запрос по 12тыс. строк выполняется более 5 минут и как действующее решение не подходит Если количество уровней не более 4-х, то PARSENAME Если больше, то, наверное, только строковые функции. Ну или извращаться с получением множеств, и потом PIVOT ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 01:47 |
|
Сортировка чисел с разделителями в текстовом поле
|
|||
---|---|---|---|
#18+
Anton_1988, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 04:05 |
|
Сортировка чисел с разделителями в текстовом поле
|
|||
---|---|---|---|
#18+
Тупым задачам тупые решения. Ставьте нужное число ведущих нулей в каждой позиции и сортируйте штатно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 09:38 |
|
Сортировка чисел с разделителями в текстовом поле
|
|||
---|---|---|---|
#18+
felix_ff, Точно, hierarchyid же есть. Может, с PARSENAME будет быстрее, но если уровней больше 4-х, то PARSENAME - лучшее решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 09:44 |
|
|
start [/forum/topic.php?fid=46&msg=39972133&tid=1685940]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 427ms |
0 / 0 |