SQL Server 2008: получить значение столбца XML из ResultSet и сохранить его в документе - PullRequest
0 голосов
/ 05 января 2012

Я хочу получить значение столбца с типом данных xml. Я исследовал метод запроса для извлечения, но не совсем уверен, могу ли я использовать его для получения нетипизированных значений XML.Также не имеет смысла извлекать значение столбца xml из набора результатов.После извлечения я хочу сохранить его в Document для анализа.

CREATE TABLE [upd].[PRPMST](
[ETMADD] [nvarchar](16) NOT NULL,
[ETDXML] [xml] NOT NULL)

Я хотел бы получить значение столбца ETMADD XML, который будет содержаться в этом столбце, выглядит следующим образом:

<root>
  <PRPMST>
    <DownloadEnvironment>UAT</DownloadEnvironment>
    <RetentionPeriod>2</RetentionPeriod>
    <DownloadAttempts>2</DownloadAttempts>
    .
    .
    .
  </PRPMST>
</root>

1 Ответ

0 голосов
/ 05 января 2012

Либо вы можете принять его как обычное двоичное или символьное значение, например:

SELECT ETMADD, CAST(ETDXML as nvarchar(max)) as XmlDoc
from [upd].[PRPMST]

ИЛИ

если вам нужны значения из XML-столбец, попробуйте сделать это, например:

SELECT 
  * ,
  ETDXML.value('/root[1]/PRPMST[1]/DownloadEnvironment[1]', 'varchar(5)') AS DownloadEnvironment
from [upd].[PRPMST]
...