Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
qqq_2 Member Откуда: Сообщений: 69 |
Приветствую. Не могу найти информацию. Иметтся строка: '1,2,3,4,5' Как из нее получить столбец: 1 2 3 4 5 ? Нужно что-то аналогичное UNNEST в PG или table() oracle Подскажите пожалуйста. |
28 авг 19, 15:54 [21959196] Ответить | Цитировать Сообщить модератору |
qqq_2 Member Откуда: Сообщений: 69 |
количество значений через запятую произвольное от 1 до 100000 |
28 авг 19, 15:54 [21959197] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37146 |
string_split |
28 авг 19, 15:56 [21959199] Ответить | Цитировать Сообщить модератору |
qqq_2 Member Откуда: Сообщений: 69 |
2005-й SQL Server не находит такой штуки ![]() |
||
28 авг 19, 16:01 [21959208] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
Функция, которая делит строку на слова |
28 авг 19, 16:21 [21959235] Ответить | Цитировать Сообщить модератору |
4d_monster Member Откуда: Москва Сообщений: 1613 |
так и UNNEST в PG 8.3 не было ![]() |
||||
28 авг 19, 16:24 [21959239] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9634 |
qqq_2,declare @s varchar(max) = '1,2,3,4,5' select b.n.value('@n', 'int') from (select cast('<item n = "' + replace(@s, ',', '"/><item n="') + '"/>' as xml)) a(x) cross apply a.x.nodes('item') b(n); |
28 авг 19, 16:27 [21959244] Ответить | Цитировать Сообщить модератору |
qqq_2 Member Откуда: Сообщений: 69 |
спасибо, то что надо! |
||
28 авг 19, 16:28 [21959247] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8322 |
Странно, что этой темы нет в FAQ, как и обратного преобразования. Довольно популярна. |
29 авг 19, 11:21 [21959654] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |