Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2007, 05:52
sertest
 
Fecha de Ingreso: febrero-2007
Mensajes: 1
Antigüedad: 17 años, 3 meses
Puntos: 0
Redondeo raro

Buenos días,

quería ver si alguno me podeis dar una explicación a algo que he visto que me sucede, que supongo será algo conocido pero no encuentro solución.

Vamos al tema:

creo una base de datos con un campo float, inserto registros en ella, y los consulto...

mysql> select campo from tabla;

y obtengo:
...
| 0 |
| 1.8 |
| 1.3 |
| 1.1 |
| 1 |
| 1 |
| 0.9 |
| 0.8 |
| 1.3 |
+----------+
5025 rows in set (0,08 sec)


pero si hago...

mysql> select campo from tabla where campo="1.3";
Empty set (0,06 sec)

No obtengo ningun resultado.

Pero si hago:

mysql> select campo from tabla where campo<'1.3' and campo>'1.2999999';

Si obtengo resultados,

pero con campo>'1.29999999' vuelvo a no obtener resultados,

lo que me hace llegar a la conclusión de que mysql representa el float 1.3 con un número entre 1.2999999 y 1.29999999.

Alguien me puede explicar por qué, o como solucionarlo.

Muchas gracias.