Funções de Agregação – max
Aplica-se a:SQL Server
Retorna de uma sequência de valores atômicos, $arg, o único item cujo valor é maior que o de todos os outros.
Sintaxe
fn:max($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
Argumentos
$arg
Sequê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() precisam ser subtipos do mesmo tipo base. Os tipos base aceitos são os tipos que dão suporte à operação 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 combinação desses tipos ou se outros valores de outros tipos forem passados, um erro estático será gerado.
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, vazio será implícito e um erro estático será gerado.
A função max() retorna o único valor na sequência que é maior que qualquer outro na sequência de entrada. Para valores xs:string, a ordenação de ponto de código Unicode padrão está sendo usada. Se um valor xdt:untypedAtomic não puder ser convertido em xs:double, o valor será ignorado na sequência de entrada , $arg. Se a entrada for uma sequência vazia calculada dinamicamente, a sequência vazia será retornada.
Exemplos
Este tópico fornece exemplos XQuery em instâncias XML armazenadas em várias colunas de tipo xml no AdventureWorks2022
banco de dados.
a. Usando a função max() XQuery para localizar locais de centro de trabalho no processo de fabricação 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 inteiros para xs:decimal.
Não há suporte para a função max() em valores do tipo xs:duration.
Não há suporte para sequências que misturam tipos, atravessando os limites de tipo base.
Não há suporte para opção sintática que fornece ordenação.