SQL tiene tres funciones que se pueden redondear los valores a un número específico de lugares decimales . Puede utilizar estas funciones para resolver una variedad de problemas de bases de datos relacionadas , que van desde la eliminación de las fracciones de centavos en las operaciones financieras para la regularización de las entradas de datos de múltiples instrumentos científicos. Si usted es nuevo en SQL , las funciones de redondeo puede parecer un poco extraño, y puede causar algunos problemas de adaptación. " ROUND () " Redondeo convencional
de SQL función toma un valor y lo redondea existente al número especificado de posiciones decimales. El formato es el siguiente :
REDONDEAR ( [ valor] , [ n], [ 1 ] ))
, " [ valor] " es un valor decimal, y " [n ] "es el número de dígitos del valor debe redondearse a . Redondeo rondas valores convencionales de 0,5 o mayor , y los valores de 0,49 y más abajo . Establecer el valor a " 0 " se redondea a valores enteros , estableciendo el valor en rondas " -1 " al múltiplo más cercano de 10 . El "ROUND ()" tercer parámetro de la función ", [ 1 ] , " trunca el número al número de decimales especificado si se establece en cualquier valor distinto de cero. Una fuente importante de problemas de redondeo inesperados vienen cuando, debido a un error tipográfico , el tercer parámetro se establece y el número trunca en lugar de redondos.
Suelo y el techo
SQL utiliza la función " FLOOR ( ) " para forzar valores a redondear a la baja al valor más cercano , y el " TECHO ()" función para redondear hasta el valor más cercano. Ambas funciones devuelven valores enteros , e incluso el uso de un tipo de datos float con un número de decimales especificado devuelve un valor con ceros después de la coma decimal
Recomendado tipos de datos
< . br>
la razón más probable de los errores de redondeo en SQL se deriva de utilizar un tipo de datos inesperado para la expresión numérica de la "ROUND ()" función o el uso de " FLOOR ( )" o " TECHO ( ) " y esperando para conseguir un tipo de datos decimal , en lugar de un número entero . Si la función de SQL que está dando resultados redondeo inoportunas, asegúrese de que la función " CAST ( ) " que se especifica el número tiene el tipo de datos en " entero ", "decimal ", " dinero " o " smallmoney . " el tipo de datos "decimal " se limita a sólo 38 dígitos en total , lo cual es una limitación que pocas personas fuera de la comunidad científica topan .
otras tipos de datos < br >
dos tipos de datos devuelven valores numéricos que pueden causar problemas con la función " ROUND () " . Estos son "reales " y "flotar" tipo de número en SQL , que se utiliza para registrar fracciones muy pequeñas que se redondean hacia arriba por la mayoría de las variedades de SQL en el último decimal en el tipo de datos indicado , algunas implementaciones de SQL y vuelta a cero , redondear hacia abajo o alrededor convencionalmente . Cuando se dispone de datos de introducirlo en una base de datos SQL que podrían estar utilizando el "verdadero" o " float " Tipos de datos , utilice el " CAST ( )" o " CONVERT ()" función para convertirlos en el tipo de datos " decimal" .