Una de tipos de datos

07/09/2007 - 18:44 por SergioT | Informe spam
Hola

como funciona el redondeo en un tipo de datos numeric o decimal, por ejemplo
si defino
"campo numeric(9,2)" (5 bytes) osea que mi nuemro maximo será 9,999,999.99
y otro
"campo numeric(18,2)" (9 bytes), mi nro maximo será 9,999,999,999,999,999.99

la pregunta ess si hago operaciones de divisiones y multiplicaciones que
produzcan gran cantidad de decimales, y que no pasen de 9,999,999.99 ambas
definiciones de campos me producirán el mismo resultado? o por la mayor
"precision" la segunda definicion "será mas exacta" con los decimales????
tiene sentido esta preciación ???


gracias

salu2
Sergio
 

Leer las respuestas

#1 Gustavo Larriera (MVP)
07/09/2007 - 21:28 | Informe spam
SQL Server Books Online (BOL):

Numeric data types that have fixed precision and scale.

decimal[ (p[ , s] )] and numeric[ (p[ , s] )]
Fixed precision and scale numbers. When maximum precision is used, valid
values are from - 10^38 +1 through 10^38 - 1. The SQL-92 synonyms for decimal
are dec and dec(p, s). numeric is functionally equivalent to decimal.

p (precision)
The maximum total number of decimal digits that can be stored, both to the
left and to the right of the decimal point. The precision must be a value
from 1 through the maximum precision of 38. The default precision is 18.

s (scale)
The maximum number of decimal digits that can be stored to the right of the
decimal point. Scale must be a value from 0 through p. Scale can be specified
only if precision is specified. The default scale is 0; therefore, 0 <= s <=
p. Maximum storage sizes vary, based on the precision.


Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"SergioT" wrote:

Hola

como funciona el redondeo en un tipo de datos numeric o decimal, por ejemplo
si defino
"campo numeric(9,2)" (5 bytes) osea que mi nuemro maximo será 9,999,999.99
y otro
"campo numeric(18,2)" (9 bytes), mi nro maximo será 9,999,999,999,999,999.99

la pregunta ess si hago operaciones de divisiones y multiplicaciones que
produzcan gran cantidad de decimales, y que no pasen de 9,999,999.99 ambas
definiciones de campos me producirán el mismo resultado? o por la mayor
"precision" la segunda definicion "será mas exacta" con los decimales????
tiene sentido esta preciación ???


gracias

salu2
Sergio



Preguntas similares