Partilhar via


Funções agregadas - avg

Aplica-se a:SQL Server

Devolve 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() devem ser um subtipo de exatamente um dos três tipos de base numérica internos ou xdt:untypedAtomic. Não podem ser uma mistura. Os valores do tipo xdt:untypedAtomic são tratados como xs:double. O resultado de avg() recebe o tipo base do passado em tipos, como xs:double no caso de xdt:untypedAtomic.

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

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

soma($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 xml type no banco de dados AdventureWorks.

Um. Usando a função avg() XQuery para encontrar locais de centro de trabalho no processo de fabricação em que as horas de trabalho são maiores do que a média para todos os locais de 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 entre limites de tipo base.

Ver também

funções XQuery em relação ao tipo de dados xml