Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
LolBee Member Откуда: Киев Сообщений: 45 |
Здравствуйте) Подскажите плз, конструкцию что бы найти в текстовой строке нужные слова. Например: Есть такая строка declare @str as varchar(max); set @str = '[Name]''Вася''<br/>[Surname]''Топор''<br/>[Email]''vasyatheax@gmail.com''<br/>' И нужно из нее вытянуть в отдельные коллонки: [Name] [Surname] [Email] -------------------------------------- Вася Топор vasyatheax@gmail.com Есть идеи? Буду весьма благодарен =))) |
10 авг 16, 14:10 [19524940] Ответить | Цитировать Сообщить модератору |
*CRAZY*
Guest |
LolBee,declare @str as varchar(max); set @str = '[Name]''Вася''<br/>[Surname]''Топор''<br/>[Email]''vasyatheax@gmail.com''<br/>' select b.b.query('./br[@t="Name"]').value('.','varchar(100)') [Name] ,b.b.query('./br[@t="Surame"]').value('.','varchar(100)') [Surname] ,b.b.query('./br[@t="Email"]').value('.','varchar(100)') [Email] from (select cast(replace(replace(replace(replace(@str,'[Name]','<br t="Name">'),'[Surname]','<br t="Surame">'),'[Email]','<br t="Email">'),'<br/>','</br>') as xml))a(a) cross apply a.a.nodes('.')b(b) |
10 авг 16, 14:41 [19525094] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9633 |
declare @str as varchar(max); set @str = '[Name]''Вася''<br/>[Surname]''Топор''<br/>[Email]''vasyatheax@gmail.com''<br/>'; select t.n.value('@Name', 'varchar(100)'), t.n.value('@Surname', 'varchar(100)'), t.n.value('@Email', 'varchar(100)') from (select cast('<a ' + replace(replace(replace(@str, '''<br/>', '" '), ']''', ' = "'), '[', '') + '/>' as xml)) a(x) cross apply a.x.nodes('a') t(n); |
10 авг 16, 14:48 [19525142] Ответить | Цитировать Сообщить модератору |
LolBee Member Откуда: Киев Сообщений: 45 |
То что надо)) Спасибо, ребят! |
10 авг 16, 14:55 [19525183] Ответить | Цитировать Сообщить модератору |
LolBee Member Откуда: Киев Сообщений: 45 |
*CRAZY*, invm, А подскажите, что это за синтаксис чтоб я мог почитать об этом) Спасибо |
10 авг 16, 15:06 [19525236] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
XPATH, XQUERY. XML data type. |
10 авг 16, 15:28 [19525358] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |