简体   繁体   English

如何在SQL Server中求和XML节点值

[英]How to sum XML node value in SQL Server

I want to sum xml node values, but luck is not favouring, please help. 我想对xml节点值求和,但是运气不好,请帮忙。

select 
    animals_quantity.value('data(/AnimalsAddData/Quantity/@value)','int') 
from 
    tbl_animals

Take values from node and pass them to SUM aggregate: 从节点获取值并将其传递给SUM聚合:

DECLARE @xml xml = '
<AnimalsAddData>
    <Quantity value="4" />
    <Quantity value="1" />
    <Quantity value="10" />
    <Quantity value="200" />
</AnimalsAddData>'

SELECT SUM(N.value('.', 'int'))
FROM @xml.nodes('/AnimalsAddData/Quantity/@value') T(N)

Make sure you include sample data. 确保包括样本数据。

我找到了一个非常简单的解决方案。

SELECT  sum(CAST(CAST(CAST(animals_quantity AS XML) AS VARCHAR(100)) AS INT)) as total from tbl_animals

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM