Comparteix a través de


Funciones de agregado: avg

Se aplica a:SQL Server

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.

Comentarios

Todos los tipos de los valores atomizados que se pasan a avg() deben ser un subtipo de exactamente uno de los tres tipos base numéricos 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 la entrada está vacía estáticamente, 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 a xs:double, el valor se omite en la secuencia de entrada, $arg.

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

Ejemplos

En este tema se proporcionan ejemplos de XQuery en instancias XML almacenadas en varias columnas de tipo xml de 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 proporcionada en la función min (XQuery) para usar la función avg().

Limitaciones de la implementación

Éstas son las limitaciones:

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

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

  • No se admiten las secuencias que mezclan tipos en límites de tipo base.

Consulte también

Funciones de XQuery con el tipo de datos xml