Funções de Agregação – avg
Aplica-se: 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 de exatamente um dos três tipos de base numérica 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 calculados. Por exemplo:
soma( $arg ) contagem div( $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 de XQuery em relação a instâncias XML armazenadas em várias colunas de tipo xml no banco de dados AdventureWorks.
R. 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.
A função avg() em valores do tipo xs:duration não é suportada.
Não há suporte para sequências que misturam tipos, atravessando os limites de tipo base.