Funciones de valores numéricos: round
Se aplica a: SQL Server
Devuelve el número que no tiene una parte fraccionaria más próxima al valor del argumento. Si hay más de un número con esta característica, se devuelve el más próximo al infinito positivo. Por ejemplo:
Si el argumento es 2.5, round() devuelve 3.
Si el argumento es 2.4999, round() devuelve 2.
Si el argumento es -2.5, round() devuelve -2.
Si el argumento es una secuencia vacía, round() devuelve la secuencia vacía.
Sintaxis
fn:round ( $arg as numeric?) as numeric?
Argumentos
$arg
Número al que se aplica la función.
Comentarios
Si el tipo de $arg es uno de los tres tipos base numéricos, xs:float, xs:double o xs:decimal, el tipo de valor devuelto es el mismo que el tipo de $arg . Si el tipo de $arg es un tipo derivado de uno de los tipos numéricos, el tipo devuelto es el tipo numérico base.
Si la entrada a las funciones fn:floor, fn:ceiling o fn:round es xdt:untypedAtomic, los datos sin tipo, se convierten implícitamente en xs:double.
Cualquier otro tipo genera un error estático.
Ejemplos
En este tema se proporcionan ejemplos de XQuery en instancias XML almacenadas en varias columnas de tipo xml en la base de datos AdventureWorks.
Puede usar el ejemplo de trabajo en la función ceiling (XQuery) para la función round() XQuery. Todo lo que tiene que hacer es reemplazar la función ceiling() de la consulta por la función round().
Limitaciones de la implementación
Éstas son las limitaciones:
La función round() asigna valores enteros a xs:decimal.
La función round() de los valores xs:double y xs:float entre -0,5e0 y -0e0 se asignan a 0e0 en lugar de -0e0.