Função max (XQuery)

Retorna de uma seqüência de valores atômicos, $arg, o item cujo valor é maior do que todos os outros.

Sintaxe

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

Argumentos

  • $arg
    Seqüência de valores atômicos do qual deve ser retornado o valor máximo.

Comentários

Todos os tipos de valores atomizados que são passados para max() têm que ser subtipos do mesmo tipo base. Os tipos base aceitos são os tipos que dão suporte à operação de gt. Esses tipos incluem os três tipos base numéricos internos, os tipos base de data/hora, xs:string, xs:boolean e xdt:untypedAtomic. Valores do tipo xdt:untypedAtomic são convertidos em xs:double. Se houver uma mistura desses tipos, ou se outros valores de outros tipos forem passados, será gerado um erro estático.

O resultado de max() 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 max() retorna o valor na seqüência maior que qualquer outra na seqüência de entrada. Para valores xs:string, o agrupamento Unicode Codepoint padrão está sendo usado. Se um valor xdt:untypedAtomic não puder ser convertido em xs:double, o valor será desconsiderado na seqüência de entrada $arg. Se a entrada for uma seqüência vazia calculada dinamicamente, a seqüência vazia será retornada.

Exemplos

Este tópico fornece exemplos de XQuery em instâncias XML armazenadas em várias colunas do tipo xml no banco de dados AdventureWorks2008R2. Para obter uma visão geral de cada uma dessas colunas, consulte Representação de tipo de dados xml no banco de dados do AdventureWorks2008R2.

A. Usando a função max() XQuery para encontrar locais de centro de trabalho no processo industrial que têm grande parte das horas de trabalho

A consulta fornecida na função min (XQuery) pode ser reescrita para usar a função max().

Limitações de implementação

Estas são as limitações:

  • A função max() mapeia todos os números inteiros para xs:decimal.

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

  • Não há suporte para seqüências que misturam tipos nos limites de tipo base.

  • Não há suporte para opção sintática que fornece agrupamento.

Consulte também

Referência