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és dans différentes colonnes de type xml tirées de la base de données AdventureWorks2008R2. Pour obtenir une vue d'ensemble de chacune de ces colonnes, consultez Représentation du type de données xml dans la base de données AdventureWorks2008R2.
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.