Compartilhar via


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.

Consulte também

Referência

Funções XQuery em tipos de dados xml