Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Получение всех элементов xml  [new]
worner
Member

Откуда:
Сообщений: 29
DECLARE @ListXML XML
SET @ListXML =  '<Data><RP>234361</RP><RP>234362</RP><RP>234363</RP><RP>235786</RP></Data>'

SELECT S.c.value('RP[1]', 'int') AS ID
FROM @ListXML.nodes('/Data') S(c)
Возвращает только первый элемент: 234361

DECLARE @ListXML XML
SET @ListXML =  '<Data><RP>234361</RP><RP>234362</RP><RP>234363</RP><RP>235786</RP></Data>'

SELECT S.c.value('.', 'int') AS ID
FROM @ListXML.nodes('/Data') S(c)
Вылазит ошибка: "The conversion of the nvarchar value '234361234362234363235786' overflowed an int column. Maximum integer value exceeded"
Как вытащить все элементы RP в виде int? чтобы можно было вставить во временную таблицу.
24 июн 09, 13:06    [7337217]     Ответить | Цитировать Сообщить модератору
 Re: Получение всех элементов xml  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

DECLARE  @ListXML XML
SET  @ListXML ='<Data><RP>234361</RP><RP>234362</RP><RP>234363</RP><RP>235786</RP></Data>'

SELECT  S.c.value('.','int')AS  ID
FROM  @ListXML.nodes('/Data/RP') S(c)

Posted via ActualForum NNTP Server 1.4

24 июн 09, 13:07    [7337227]     Ответить | Цитировать Сообщить модератору
 Re: Получение всех элементов xml  [new]
worner
Member

Откуда:
Сообщений: 29
Спасибо
24 июн 09, 13:52    [7337540]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить