Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/11/2010, 13:58
PeterTheWall
 
Fecha de Ingreso: noviembre-2010
Mensajes: 65
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: ifnull me añade decimales en un campo tipo float

Muchas gracias por tu respuesta huesos! Lo suponía... Esta vez he tenido suerte. Finalmente el hecho de recuperar un valor nulo me convenía!

Una manera de obtener el número tal como comentaba inicialmente podría ser así:

select ifnull(substr(valor,1, length(valor)),0) from tabla

Es un poco drástico... yo lo sólo lo usaría si estamos seguros que nos va a pasar este problema. Entre otras cosas por que, como bien dices, estos sólo ocurre en determinadas ocasiones ( por ejemplo en la operación de campos tipo float, o bien si el campo se informa mediante un cálculo ). Y segundo por que lo que se obtiene ahora no es un float sino un char. Que esto podría no ser de importancia si se está usando PHP ya que en principio sabría interpretarlo ( o bien podría transformarse ). Pero ya digo, quizás es un poco drástico... Casi mejor usar un round y listo!

Saludos!