Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/11/2012, 20:37
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: date_format no me esta funcionando, que tengo mal?

¿Por qué no haces algo más simple?
SI lo que estás buscando está entre dos fechas, sin importar la hora en que se produzca, entonces no debes compararlo como DATETIME, sino como DATE.
Algo como:
Código MySQL:
Ver original
  1. FROM pagos
  2. WHERE DATE(FECHA_SALDADA) BETWEEN DATE('2012-11-01')AND DATE('2012-11-30')
  3. LIMIT 0, 30

En cuanto a la objeción que le haces a Leo:
Cita:
en mi base de datos estan como (AÑO-MES-DIA) , entonces por eso la funcion DATE() no me funciona
Eso es absolutamente imposible, como puedo mostrártelo haciendo esta muestra:
Código MySQL:
Ver original
  1. mysql> SELECT DATE('2012-10-01 12:45:22') FECHA1, DATE('2012-10-31') FECHA2;
  2. +------------+------------+
  3. | FECHA1     | FECHA2     |
  4. +------------+------------+
  5. | 2012-10-01 | 2012-10-31 |
  6. +------------+------------+
  7. 1 row in set (0.00 sec)
Esto es posible porque MySQL trabaja a nivel contextual, y realiza ciertas conversiones implícitas, cosa que otros DBMS no admiten. En este caso, como uso la función DATE() sobre una cadena que tiene el formato correcto, el sistema aplica la conversión a fecha.
Entonces, si tu campo es un DATETIME, como pareces afirmar, la conversión forzosamente tiene que funcionar. Ahora bien, si usaste un VARCHAR, en tanto los datos estén correctamente escritos también debe funcionar.
En ese último caso el único problema es que no debiste usar un VARCHAR para almacenar una fecha. Eso no se hace, porque puede generar muchos problemas si hay errores de entrada de datos, y baja performance en las consultas masivas.

Posdata: Por favor, usa la etiqueta correcta para los códigos de las consultas. PHP, no es SQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)