Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/10/2011, 12:53
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Setencia select Mayor o igual a un campo de tipo Double

Hola rafaelg21:

Tu consulta es correcta (aunque no es necesario que pongas la palabra reservada AS para poner el Alias). Checa este script

Código MySQL:
Ver original
  1. mysql> CREATE TABLE dpinv (ID INT, PRODUCTO VARCHAR(20), inv_totexi DOUBLE);
  2. Query OK, 0 rows affected (0.11 sec)
  3.  
  4. mysql> INSERT INTO dpinv VALUES
  5.     -> (1, 'AAAAAA', 306.25),
  6.     -> (2, 'BBBBBB', 0),
  7.     -> (3, 'CCCCC', 25.05),
  8.     -> (4, 'DDDDD', 0),
  9.     -> (5, 'EEEEEE', 150.25),
  10.     -> (7, 'FFFFFFF', 1);
  11. Query OK, 6 rows affected (0.03 sec)
  12. Records: 6  Duplicates: 0  Warnings: 0
  13.  
  14. mysql> SELECT * FROM dpinv P;
  15. +------+----------+------------+
  16. | ID   | PRODUCTO | inv_totexi |
  17. +------+----------+------------+
  18. |    1 | AAAAAA   |     306.25 |
  19. |    2 | BBBBBB   |          0 |
  20. |    3 | CCCCC    |      25.05 |
  21. |    4 | DDDDD    |          0 |
  22. |    5 | EEEEEE   |     150.25 |
  23. |    7 | FFFFFFF  |          1 |
  24. +------+----------+------------+
  25. 6 rows in set (0.00 sec)
  26.  
  27. mysql> SELECT * FROM dpinv P WHERE P.inv_totexi>0;
  28. +------+----------+------------+
  29. | ID   | PRODUCTO | inv_totexi |
  30. +------+----------+------------+
  31. |    1 | AAAAAA   |     306.25 |
  32. |    3 | CCCCC    |      25.05 |
  33. |    5 | EEEEEE   |     150.25 |
  34. |    7 | FFFFFFF  |          1 |
  35. +------+----------+------------+
  36. 4 rows in set (0.00 sec)

Como verás filtra perfectamente aquellos precios iguales a cero...

Hace tiempo me pasó un caso semejante, pero era por un problema con JSP. un reporte estaba mostrando un -0 como resultado, lo cual es una completa aberración, después de revisar la base de datos encontramos que el registro tenía un -1.0E-10 (es decir -0.0000000001) pero la manera en como estábamos recuperando el dato lo redondeaba a cero pero seguía tomando el valor negativo... no sé si este sea un caso parecido es decir si el resultado lo muestras desde una página o programa o directamente en la consola de MySQL. Verifica si en tu tabla tienes efectivamente un 0, o un valor muy pequeño, pero mayor a cero.

Esto es lo único que se me ocurre que pueda estar pasando, no sé si algún otro forista tenga algo más que aportar.

Saludos
Leo.