Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/02/2011, 05:46
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: Duda tonta con el formato de datos

Si lees con cuidado, verás que el DECIMAL(M,D) es un formato numérico que representa los decimales en base a dos parámetos: M, que representa el ancho total del numero incluyendo punto y decimales (y no la longitud de la parte entera), y D que representa la cantidad de decimales que el mismo tendrá.
Cita:
The declaration syntax for a DECIMAL column is DECIMAL(M,D). The ranges of values for the arguments in MySQL 5.1 are as follows:

* M is the maximum number of digits (the precision). It has a range of 1 to 65. (Older versions of MySQL permitted a range of 1 to 254.)
* D is the number of digits to the right of the decimal point (the scale). It has a range of 0 to 30 and must be no larger than M.
Esto significa que un número DECIMAL(3,0) es un entero, ya que tiene cero decimales... En ese contexto, un número como 999.99 es un DECIMAL(6,2), ya que 6 es el ancho total de la cifra y 2 la cantidad de decimales.

En este tipo de dato el punto decimal (siempre hablamos de punto, la coma es en español) ocupa un espacio, a diferencia del FLOAT, cuya posición en la coma está dado por el ancho del tipo de dato (SINGLE, DOUBLE).
Respecto al signo, la definición de la representación binaria de números establece que un valor de punto flotante o decimal es un valor con signo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)