Função round (XQuery)

Retorna o número que não tem uma parte fracionária mais próxima do argumento. Se houver mais de um número semelhante a esse, o que for mais próximo ao infinito positivo será retornado. Por exemplo:

Se o argumento for 2.5, round() retornará 3.

Se o argumento for 2.4999, round() retornará 2.

Se o argumento for -2.5, round() retornará -2.

Se o argumento for uma sequência vazia, round() retornará a sequência vazia.

Sintaxe

fn:round ( $arg as numeric?) as numeric?

Argumentos

  • $arg
    Número ao qual a função é aplicada.

Comentários

Se o tipo de $arg for um dos três tipos básicos numéricos, xs:float, xs:double ou xs:decimal, o tipo de retorno será igual ao tipo $arg. Se o tipo de $arg for um tipo derivado de um dos tipos numéricos, o tipo de retorno será o tipo numérico base.

Se a entrada para as funções fn:floor, fn:ceiling ou fn:round for xdt:untypedAtomic, dados não digitados, ela será convertida implicitamente em xs:double.

Qualquer outro tipo gera 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 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.

Você pode usar a amostra de funcionamento na função ceiling (XQuery) para a função XQuery round(). Tudo o que você tem de fazer é substituir a função ceiling() na consulta pela função round().

Limitações de implementação

Estas são as limitações:

  • A função round() mapeia todos os valores inteiros para xs:decimal.

  • A função round() dos valores xs:double e xs:float entre 0.5e0 e -0e0 são mapeadas para 0e0 em vez de -0e0.

Consulte também

Referência