avg, fonction (XQuery)

Retourne la moyenne d'une série de nombres.

Syntaxe

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

Arguments

  • $arg
    Série de valeurs atomiques dont la moyenne est calculée.

Notes

Tous les types des valeurs atomiques transmises à avg() doivent être un sous-type d'exactement un des trois types de base numériques intégrés ou xdt:untypedAtomic. Ils ne peuvent pas être un mélange. Les valeurs de type xdt:untypedAtomic sont traitées comme valeurs xs:double. Le résultat de avg() reçoit le type de base des types transmis, tel que xs:double dans le cas de xdt:untypedAtomic.

Si l'entrée est vide statiquement, le caractère vide en est déduit et une erreur statique est générée.

La fonction avg() retourne la moyenne des nombres calculés. Exemple :

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

Si $arg est une série vide, la série vide est retournée.

Si une conversion d'une valeur xdt:untypedAtomic en xs:double ne peut pas être effectuée, la valeur est ignorée dans la séquence en entrée, $arg.

Dans tous les autres cas, la fonction retourne une erreur statique.

Exemples

Cette rubrique propose des exemples de XQuery relatifs à des instances XML stockées dans différentes colonnes de type xml tirées de la base de données AdventureWorks.

A.Utilisation de la fonction XQuery avg() pour rechercher les ateliers dans le processus de fabrication, dans lesquels le nombre d'heures de travail est supérieur à la moyenne de tous les ateliers.

Vous pouvez réécrire la requête fournie dans la fonction min (XQuery) pour utiliser la fonction avg().

Limitations d'implémentation

Vous trouverez les limitations ci-dessous :

  • La fonction avg() mappe tous les entiers à xs:decimal.

  • La fonction avg() n'est pas prise en charge sur des valeurs de type xs:duration.

  • Les séquences qui mélangent des types en dehors des limites des types de base ne sont pas prises en charge.

Voir aussi

Référence

Fonctions XQuery impliquant le type de données xml