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

Откуда:
Сообщений: 438
Здравствуйте! Есть XML-столбец примерно такого содержания:
<pa>
  <person_info>Информация 123
    <sd>
      <fullname>Иванов Иван Иванович</fullname>
      <position_name>Ведущий консультант</position_name>
      <position_id>5657287922723195817</position_id>
      <org_name>Фирма</org_name>
    </sd>
  </person_info>
  <competence_profile_id>5664382859943561937</competence_profile_id>
</pa>

Надо получить:
person_infocompetence_profile_id
Информация 1235664382859943561937


Тестовые данные:
declare @x xml
set @x =
'<pa>
  <person_info>Информация 123
    <sd>
      <fullname>Иванов Иван Иванович</fullname>
      <position_name>Ведущий консультант</position_name>
      <position_id>5657287922723195817</position_id>
      <org_name>Фирма</org_name>
    </sd>
  </person_info>
  <competence_profile_id>5664382859943561937</competence_profile_id>
</pa>'


Додумался только до этого
select
@x.value('(/pa/person_info)[1]', 'varchar(max)') [person_info],
@x.value('(/pa/competence_profile_id)[1]', 'bigint') [competence_profile_id]
competence_profile_id получается правильно, а person_info - нет Картинка с другого сайта.
Microsoft SQL Server 2005 - 9.00.5259.00 (X64)   Jan 31 2011 15:31:49   Copyright (c) 1988-2005 Microsoft Corporation  Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)
10 дек 11, 16:47    [11741889]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, пожалуйста, с XML  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
@x.value('(/pa/person_info/text())[1]', 'varchar(1024)') AS person_info
@x.value('/pa[1]/person_info[1]/text()[1]', 'varchar(1024)') AS person_info

Начинающий SQL 2008
Есть XML-столбец ... Надо получить
Не ведают что творят.
Начинающий SQL 2008
varchar(max)
Точно не разумеют.

Начинающий SQL 2008, продолжайте Картинка с другого сайта.
10 дек 11, 22:40    [11743239]     Ответить | Цитировать Сообщить модератору
 Re: Помогите, пожалуйста, с XML  [new]
Начинающий SQL 2008
Member

Откуда:
Сообщений: 438
Mnior
Начинающий SQL 2008, продолжайте Картинка с другого сайта.


Оба варианта работают правильно.
Спасибо.
10 дек 11, 22:55    [11743287]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить