usa el flotador o real tipos de datos solo si la precisión proporcionada por decimal (hasta 38 dígitos) es insuficiente
-
Los tipos de datos numéricos aproximados (consulte la tabla 3.3) no almacenan los valores exactos especificados para muchos números; almacenan una cantidad extremadamente cercana aproximación del valor. (Technet)
-
Evite usar columnas flotantes o reales en las condiciones de búsqueda de la cláusula WHERE, especialmente los operadores =y <>. Es mejor limitar las columnas flotantes y reales a comparaciones> o <. (Tecnet)
por lo que, en general, elegir Decimal como tipo de datos es la mejor apuesta si
- su número puede caber en él. Precisión decimal es 10E38[~ 38 dígitos]
- Un espacio de almacenamiento más pequeño (y tal vez una velocidad de cálculo) de Float no es importante para usted
- se requiere un comportamiento numérico exacto, como en aplicaciones financieras, en operaciones que implican redondeo o en comprobaciones de igualdad. (Tecnet)
- Exacto Tipos de datos numéricos decimal y numérico - MSDN
- numérico =decimal (5 a 17 bytes)
- se asignará a Decimal en .NET
- ambos tienen (18, 0) como parámetros predeterminados (precisión, escala) en el servidor SQL
- escala =número máximo de dígitos decimales que se pueden almacenar a la derecha del punto decimal.
- money (8 bytes) y smallmoney (4 bytes) también son tipos de datos exactos y se asignarán a decimales en .NET y tendrán 4 puntos decimales (MSDN)
- Aproximado Tipo de datos numérico flotante y real - MSDN
- real (4 bytes)
- se asignará a Single en .NET
- El sinónimo ISO de real es float(24)
- flotante (8 bytes)
- se asignará a Double en .NET
- Todo exacto los tipos numéricos siempre producen el mismo resultado, independientemente del tipo de arquitectura de procesador que se utilice o la magnitud de los números
- El parámetro suministrado al tipo de datos flotante define el número de bits que se utilizan para almacenar la mantisa del número de punto flotante .
- El tipo de datos numérico aproximado generalmente usa menos almacenamiento y tiene una mejor velocidad (hasta 20x) y también debe considerar cuándo se convirtieron en .NET
- ¿Cuál es la diferencia entre decimal, flotante y doble en C#?
- Decimal vs Doble velocidad
- SQL Server:asignaciones de tipos de datos de .NET (de MSDN)
fuente principal :Kit de capacitación a su propio ritmo de MCTS (Examen 70-433):Desarrollo de bases de datos de Microsoft® SQL Server® 2008 - Capítulo 3 - Tablas, tipos de datos e integridad de datos declarativos Lección 1 - Elección de tipos de datos (directrices) - Página 93