Partilhar via


Funções de Agregação – avg

Aplica-se a:SQL Server

Retorna a média de uma sequência de números.

Sintaxe

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

Argumentos

$arg
A sequência de valores atômicos cuja média é calculada.

Comentários

Todos os tipos de valores atomizados que são passados para avg() precisam ser um subtipo exatamente de um dos três tipos base numéricos internos ou xdt:untypedAtomic. Eles não podem ser uma combinação disso. Valores do tipo xdt:untypedAtomic são tratados como xs:double. O resultado de avg() recebe o tipo base dos tipos passados, como xs:double no caso de xdt:untypedAtomic.

Se a entrada estiver estaticamente vazia, vazio estará implícito e um erro estático será gerado.

A função avg() retorna a média dos números computados. Por exemplo:

sum($arg) div count($arg)

Se $arg for uma sequência vazia, a sequência vazia será retornada.

Se um valor xdt:untypedAtomic não puder ser convertido em xs:double, o valor será desconsiderado na sequência de entrada $arg.

Em todos os outros casos, a função retorna um erro estático.

Exemplos

Este tópico fornece exemplos XQuery em instâncias XML armazenadas em várias colunas de tipo xml no banco de dados AdventureWorks.

a. Usando a função avg() XQuery para localizar locais do centro de trabalho no processo de fabricação no qual as horas de trabalho são maiores que a média de todos os locais do centro de trabalho.

Você pode reescrever a consulta fornecida na função min (XQuery) para usar a função avg( ).

Limitações de implementação

Estas são as limitações:

  • A função avg() mapeia todos os inteiros para xs:decimal.

  • Não há suporte para a função avg() em valores do tipo xs:duration.

  • Não há suporte para sequências que misturam tipos, atravessando os limites de tipo base.

Consulte Também

Funções XQuery em tipos de dados xml