Funções de Valores Numéricos – round
Aplica-se: SQL Server
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() retorna 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 de base numérica, 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 tipados, ela será implicitamente convertida em xs:double.
Qualquer outro tipo gera um erro estático.
Exemplos
Este tópico fornece exemplos de XQuery em relação a instâncias XML armazenadas em várias colunas de tipo xml no banco de dados AdventureWorks.
Você pode usar o exemplo de trabalho na função ceiling (XQuery) para a função XQuery round(). Tudo o que você precisa 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 valores inteiros para xs:decimal.
A função round() de xs:double e xs:float valores entre -0.5e0 e -0e0 são mapeados para 0e0 em vez de -0e0.