gpt4 book ai didi

xquery - 如何使用 sum() 将空值处理为 0?

转载 作者:行者123 更新时间:2023-12-02 01:29:17 24 4
gpt4 key购买 nike

在 XQuery 中,我想对非空值求和(有效地将空值计为 0)。我尝试了以下但没有成功。

sum(data(//Line/Total))

我收到这个错误

Cannot cast untypedAtomic: to double



我怎样才能一步做到这一点?
sum(data(//Line[Total !='']/Total))

示例 XML:
<Order>
<Line>
<Total>1</Total>
</Line>
<Line>
<Total>1</Total>
</Line>
<Line>
<Total></Total>
</Line>
</Order>

最佳答案

使用谓词确保只有可以评估为 number() 的值包含在 sum() 中.确保 number()值等于它的 number()值,因为 NaN将不等于 NaN .

sum(/Order/Line/Total[number() = number()]) 

或者确保该值可转换为 xs:double
sum(/Order/Line/Total[. castable as xs:double])

关于xquery - 如何使用 sum() 将空值处理为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071452/

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