Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/03/2012, 09:10
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: Select con fecha

Hola Bandolera:

Si observas la sintaxis de la función STR_TO_DATE, se necesitan DOS PARÁMETROS, el primero es la cadena que quieres convertir y el segundo EL FORMATO DE FECHA QUE TIENE LA CADENA:

STR_TO_DATE(str,format)

Sin embargo, no hay necesidad de convertir la cadena a fecha SI LA PONES EN FORMATO ANSI (yyyy-mm-dd), tal como lo estás haciendo). Checa este script.

Código MySQL:
Ver original
  1. mysql> SELECT * FROM fechas;
  2. +------------+
  3. | campo      |
  4. +------------+
  5. | 1980-01-28 |
  6. | 1980-01-29 |
  7. | 1980-01-30 |
  8. | 1980-01-31 |
  9. | 1980-02-01 |
  10. | 1980-02-02 |
  11. +------------+
  12. 6 rows in set (0.00 sec)
  13.  
  14. mysql> SELECT * FROM fechas
  15.     -> WHERE campo > STR_TO_DATE('30-01-1980', '%d-%m-%Y');
  16.  
  17. +------------+
  18. | campo      |
  19. +------------+
  20. | 1980-01-31 |
  21. | 1980-02-01 |
  22. | 1980-02-02 |
  23. +------------+
  24. 3 rows in set (0.00 sec)
  25. mysql> SELECT * FROM fechas WHERE campo > '1980-01-30';
  26. +------------+
  27. | campo      |
  28. +------------+
  29. | 1980-01-31 |
  30. | 1980-02-01 |
  31. | 1980-02-02 |
  32. +------------+
  33. 3 rows in set (0.02 sec)

En el segundo ejemplo, aunque compares una fecha contra una "cadena", también se hace la comparación.

P.D. Linda Imagen la que tienes aunque supongo que debería decir linda tú...

Saludos
Leo.