0

我想检索具有xml数据类型的列的值。我研究了检索的查询方法,但不太确定是否可以使用它来检索无类型的 xml 值。对于从结果集中检索 xml 列值也一无所知。检索后,我想将其存储在 a 中以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>
4

1 回答 1

0

您可以将其视为通常的二进制或字符值,如下所示:

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]
于 2012-01-05T06:57:41.000 回答