gpt4 book ai didi

tsql - 使用TSQL和XQuery解析XML-获取给定元素值的属性值

转载 作者:行者123 更新时间:2023-12-03 16:54:07 24 4
gpt4 key购买 nike

我正在尝试将XML文件切入mssql数据库(SQL Server 2008 R2)。我正在寻找特定元素值的属性值。

文件摘录:

<company>
<names>
<name percent="6.55">Company X</name>
<name percent="4.99">Company Y</name>
<name percent="4.92">Company Z</name>
</names>
</company>


因此,我正在寻找name元素等于“ Company Z”的name元素的percent属性值。在这种情况下,哪个应返回值“ 4.92”。

到目前为止,我已经提出了以下代码:

declare @xml xml

set @xml = N'
<company>
<names>
<name percent="6.55">Company X</name>
<name percent="4.99">Company Y</name>
<name percent="4.92">Company Z</name>
</names>
</company>'

select
@xml.value('(/company/names[name = "Company Z"]/@percent)[1]', 'decimal(8,5)') as Percentage


这将返回NULL。我尝试了几种方法,但是没有一条返回我想要的东西。有人可以指出我做错了吗?

任何帮助深表感谢!

最佳答案

declare @xml xml

set @xml = N'
<company>
<names>
<name percent="6.55">Company X</name>
<name percent="4.99">Company Y</name>
<name percent="4.92">Company Z</name>
</names>
</company>'

select
@xml.value('(/company/names/name[. = "Company Z"]/@percent)[1]', 'decimal(8,5)') as Percentage

关于tsql - 使用TSQL和XQuery解析XML-获取给定元素值的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23107225/

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