|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Добрый день, в таблице имеется столбец данных varchar строка 1 '78887 а45 f56' строка 2 '564 78h 123456 86' ......... строка 100000 '9845 h4545 98856 а45' каждая строка содержит какие-то значения, разделенные пробелом, каждое разной длины. Каждая строка имеет разное количество значений. Всего порядка 100 тысяч строк. Значения в строках повторяются (как в примере а45) Задача: Значения привести в один столбец, причем без повторений, вот так: 78887 а45 f56 564 78h 123456 86 ... 9845 h4545 98856 Умею сделать с одной строкой (SELECT LTRIM(RTRIM(Split.a.value('.', 'VARCHAR(100)'))) 'Kody' FROM (SELECT CAST('<M>' + REPLACE((SELECT строка FROM таблица), ' '/*delimiter*/, '</M><M>') + '</M>' AS XML) AS Data) AS A CROSS APPLY Data.nodes ('/M') AS Split(a)) назв_табл однако не доходит как сделать на много строк ((( STRING_SPLIT не работает. Спасибо за идеи. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 15:11 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Tavocer STRING_SPLIT не работает. Из-за чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 15:16 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
msLex, 'string_split' is not a recognized built-in function name. SSMS 18.8, SQL Server Express 2019 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 15:18 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Tavocer SQL Server Express 2019 Повысьте и string_split заработает. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 15:54 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
уровень совместимости вашей базы данных смотрите в её свойствах ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 15:55 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Konst_One, это я понимаю, но база данных не моя и думаю, нельзя повысить совместимость. Можно ли решить задачу без string_split ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 16:14 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Tavocer Konst_One, это я понимаю, но база данных не моя и думаю, нельзя повысить совместимость. Можно ли решить задачу без string_split ? Можно подумать string_split - откровение господне Этих вариантов было сделано вагон и маленькая тележка Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 16:41 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
aleks222, спасибо. Так STRING_SPLIT работает ))) Однако, вопрос остается. Как решить задачу с помощью STRING_SPLIT ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 18:58 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Tavocer Konst_One, это я понимаю, но база данных не моя и думаю, нельзя повысить совместимость. Можно ли решить задачу без string_split ? Tavocer aleks222, спасибо. Так STRING_SPLIT работает ))) Однако, вопрос остается. Как решить задачу с помощью STRING_SPLIT ? Вы издеваетесь что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 19:01 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Кесарь, ТС же написал, "база данных не моя и думаю, нельзя повысить совместимость." ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 20:22 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Кесарь, нет, не издеваюсь. Я же писал, для одной строки могу сделать, а как сделать для много строк? Вот для одной строки SELECT value FROM STRING_SPLIT((SELECT TOP 1 tablica.stolbec FROM tablica), ' ') Как сделать для всех строк столбца stolbec ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 20:33 |
|
Разделить много текстовых строк на отдельные значения
|
|||
---|---|---|---|
#18+
Кесарь, а STRING_SPLIT не работала, потому что не правильно применял, потом разобрался ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 20:35 |
|
|
start [/forum/topic.php?fid=46&msg=40075486&tid=1684639]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 289ms |
total: | 442ms |
0 / 0 |