Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/05/2005, 09:48
Avatar de xcars
xcars
 
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
esta es una forma
ROUND
Devuelve una expresión numérica, redondeada a la longitud o precisión especificada.

Sintaxis
ROUND ( numeric_expression , length [ , function ] )

Argumentos
numeric_expression

Es una expresión de la categoría de tipo de datos numérico exacto o numérico aproximado, excepto para el tipo de datos bit.

length

Es la precisión a la que se debe redondear numeric_expression. length debe ser del tipo tinyint, smallint o int. Cuando length es un número positivo, numeric_expression se redondea al número de posiciones decimales especificado en length. Cuando length es un número negativo, numeric_expression se redondea en el lado izquierdo del separador decimal, como se especifica en length.

función

Es el tipo de operación que se va a realizar. function debe ser del tipo tinyint, smallint o int. Cuando se omite function o tiene el valor 0 (predeterminado), se redondea numeric_expression. Cuando se especifica un valor distinto de 0, se trunca numeric_expression.

Tipos devueltos
Devuelve el mismo tipo que numeric_expression.

Observaciones
ROUND siempre devuelve un valor. Si length es un valor negativo y mayor que el número de dígitos anteriores al separador decimal, ROUND devuelve 0.

Ejemplo Resultado
ROUND(748.58, -4) 0


ROUND devuelve una expresión numeric_expression con redondeo, independientemente de los tipos de datos, cuando length es un número negativo.

Ejemplos Resultado
ROUND(748.58, -1) 750.00
ROUND(748.58, -2) 700.00
ROUND(748.58, -3) 1000.00


Ejemplos
A. Utilizar ROUND y valores estimados
En este ejemplo se muestran dos expresiones que ilustran que, con la función ROUND, los últimos dígitos son siempre valores estimados.

SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO

El siguiente es el conjunto de resultados:

----------- -----------
123.9990 124.0000

B. Utilizar ROUND y aproximaciones de redondeo
En este ejemplo se muestran redondeos y aproximaciones.

Instrucción Resultado
SELECT ROUND(123.4545, 2)


123.4500

SELECT ROUND(123.45, -2)


100.00



C. Utilizar ROUND para truncar
En este ejemplo se utilizan dos instrucciones SELECT para demostrar la diferencia entre redondear y truncar. La primera instrucción redondea el resultado. La segunda instrucción lo trunca.

Instrucción Resultado
SELECT ROUND(150.75, 0)


151.00

SELECT ROUND(150.75, 0, 1)


150.00