avg 函数 (XQuery)

返回一组数值的平均值。

语法

fn:avg($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?

参数

  • $arg
    要计算其平均值的一组原子值。

注释

传递给 avg() 的所有原子化值的类型都必须是三种内置数值基类型中某种基类型的子类型或 xdt:untypedAtomic。不能使用不同的数值类型。类型为 xdt:untypedAtomic 的值视为 xs:double。avg() 的结果类型为传入类型的基类型,例如传入类型为 xdt:untypedAtomic 时为 xs:double。

如果输入为静态空值,则空值为隐式表达,并会返回静态错误。

avg() 函数返回所计算数值的平均值。例如:

sum($arg**) div count($arg)**

如果 $arg 是一个空序列,则返回空序列。

如果无法将 xdt:untypedAtomic 值转换为 xs:double,则输入序列 $arg 中将忽略该值。

在所有其他情况下,函数均返回静态错误。

示例

本主题提供了一些对 XML 实例的 XQuery 示例,这些实例存储在 AdventureWorks2008R2 数据库内不同的 xml 类型列中。有关这些列的概述,请参阅AdventureWorks2008R2 数据库中的 xml 数据类型表示形式

A. 使用 avg() XQuery 函数来查找生产过程中工时大于所有生产车间的工时平均值的生产车间。

可以重写 Min 函数 (XQuery) 中的查询来使用 avg() 函数。

实现限制

限制如下:

  • avg() 函数将所有整数映射成 xs:decimal。

  • avg() 函数不支持类型为 xs:duration 的值。

  • 不支持跨基类型边界混合类型的序列。