Compartir a través de


avg (función de XQuery)

Devuelve el promedio de una secuencia de números.

Sintaxis

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

Argumentos

  • $arg
    Secuencia de valores atómicos cuyo promedio se va a calcular.

Notas

Todos los tipos de valores atómicos que se pasan a avg() deben ser un subtipo de uno de los tres tipos numéricos base integrados o xdt:untypedAtomic. No se pueden mezclar. Los valores de tipo xdt:untypedAtomic se tratan como xs:double. El resultado de avg() recibe el tipo base de los tipos pasados, como xs:double en el caso de xdt:untypedAtomic.

Si se trata de una entrada vacía estática, se presupone que está vacía y se genera un error estático.

La función avg() devuelve el promedio de los números calculados. Por ejemplo:

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

Si $arg es una secuencia vacía, se devuelve la secuencia vacía.

Si un valor xdt:untypedAtomic no se puede convertir en xs:double, el valor se descarta en la secuencia de entrada, $arg.

En los demás casos, la función devuelve un error estático.

Ejemplos

En este tema se ofrecen ejemplos de consultas XQuery con instancias XML almacenadas en varias columnas de tipo xml en la base de datos AdventureWorks. Para obtener información general de cada una de estas columnas, consulte Representación de tipo de datos xml en la base de datos AdventureWorks.

A. Utilizar la función avg() de XQuery para buscar los centros de trabajo del proceso de fabricación cuyas horas de trabajo son superiores al promedio de todos los centros de trabajo

Puede volver a escribir la consulta suministrada en min (función de XQuery) para utilizar la función avg().

Limitaciones de la implementación

Éstas son las limitaciones:

  • La función avg() asigna todos los valores enteros a xs:decimal.

  • No se admite la función avg() en valores de tipo xs:duration.

  • No se admiten secuencias que mezclan tipos entre los límites del tipo base.