簡體   English   中英

Nvarchar(max)字段中的SQL Server查詢XML?

[英]SQL Server Query XML in Nvarchar(max) Field?

我將XML存儲在nvarchar(max)字段中。 我意識到有一種XML數據類型,但在這種情況下它不會以這種方式存儲。 假設XML的結構如下:

<root>
<hdr>
  <name>aj</name>
</hdr>
<dtls>
  <dtl>
    <price>1</price>
  </dtl>
  <dtl>
    <price>7</price>
  </dtl>
  <dtl>
    <price>3</price>
  </dtl>
</dtls>
</root>

我要做的是獲取存在記錄的詳細信息(dtl)節點。 我確信這可以用xpath / xquery,我只是不確定如何。

嘗試這個:

SELECT CAST(<YOUR_XML_COLUMN> AS XML).query('count(//dtl)')
  FROM <YOUR_TABLE>

例如:

DECLARE @x NVARCHAR(MAX)
SET @x = '<root> <hdr>   <name>aj</name> </hdr> <dtls>   <dtl>     <price>1</price>   </dtl>   <dtl>     <price>7</price>   </dtl>   <dtl>     <price>3</price>   </dtl> </dtls> </root>'
SELECT CAST(@x AS XML).query('count(//dtl)')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM