Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/09/2016, 08:08
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: ¿Qué hay de diferente entre estas dos operaciones aritméticas en mysql?

Hola BramSt:

La respuesta es simple, no es lo mismo 2 a 2.0

¿Suena extraño? no lo es tanto, ya que matemáticamente "valen" lo mismo en realidad estamos hablando de dos cosas distintas ya que uno es un ENTERO y el otro es un FLOTANTE.

existen algunas reglas cuando haces operaciones matemáticas entre números, por ejemplo

Código:
ENTERO * ENTERO = ENTERO
ENTERO * FLOTANTE = FLOTANTE
ENTERO / ENTERO = FLOTANTE
Los dos primeros casos son los que se están presentando, en tu primer caso estás multiplicando dos números enteros, por lo tanto mySQL asigna el tipo resultado como un ENTERO, al sobrepasar el límite permitido entonces marca el error.

En el segundo caso, al multiplicar por un numero FLOTANTE, entonces mysql le asigna el resultado un tipo flotante, por lo tanto el resultado es un flotante, (observa que al final le pone un .0)

Código:
36893488147419103230.0
En el caso de la división, no importa el tipo de dato que utilices, el resultado siempre será un tipo flotante,

¿Se entiende?

Saludos
Leo.