gpt4 book ai didi

sql-server - SQL Server 在 Nvarchar(max) 字段中查询 XML?

转载 作者:行者123 更新时间:2023-12-03 02:05:54 25 4
gpt4 key购买 nike

我将 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)')

关于sql-server - SQL Server 在 Nvarchar(max) 字段中查询 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com