Funzione avg (XQuery)

Restituisce la media di una sequenza di numeri.

Sintassi

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

Argomenti

  • $arg
    Sequenza di valori atomici per la quale viene calcolata la media.

Osservazioni

Tutti i tipi di valori atomizzati passati a avg() devono essere un sottotipo di uno dei tre tipi numerici di base predefiniti o xdt:untypedAtomic e non possono essere una combinazione di tipi. I valori del tipo xdt:untypedAtomic vengono considerati come xs:double. Nel risultato di avg() verrà inserito il tipo di base dei tipi passati, ad esempio xs:double nel caso del tipo xdt:untypedAtomic.

Se l'input è costituito da dati statici vuoti, viene generato un errore statico.

La funzione avg() restituisce la media dei numeri calcolata. Ad esempio:

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

Se $arg è una sequenza vuota, viene restituita la sequenza vuota.

Se non è possibile eseguire il cast di un valore xdt:untypedAtomic a xs:double, tale valore viene ignorato nella sequenza di input, $arg.

In tutti gli altri casi, la funzione restituisce un errore statico.

Esempi

In questo argomento vengono forniti esempi di utilizzo del linguaggio XQuery sulle istanze XML archiviate in diverse colonne di tipo xml nel database AdventureWorks2008R2. Per una panoramica su ognuna di queste colonne, vedere Rappresentazione del tipo di dati XML nel database AdventureWorks2008R2.

A. Utilizzo della funzione XQuery avg() per trovare i centri di lavorazione del processo di produzione con ore di manodopera superiori alla media di tutti i centri.

È possibile riformulare la query illustrata nell'argomento Funzione min (XQuery) in modo da utilizzare la funzione avg().

Limitazioni di implementazione

Limitazioni:

  • La funzione avg() mappa tutti i numeri interi a xs:decimal.

  • L'utilizzo della funzione avg() su valori di tipo xs:duration non è supportato.

  • Le sequenze che prevedono una combinazione di tipi di base non sono supportate.

Vedere anche

Riferimento