Função avg (XQuery)
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 dos valores atomizados passados para avg() precisam ser um subtipo igual a um dos três tipos básicos 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, o vazio será implícito e um erro estático será gerado.
A função avg() retorna a média dos números calculados. 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 de XQuery em instâncias XML armazenadas em várias colunas do 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 números inteiros para xs:decimal.
A função avg() em valores do tipo xs:duration não dá suporte.
Não há suporte para sequências que misturam tipos, atravessando os limites de tipo base.