Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Mysql curdate Fecha

Estas en el tema de Mysql curdate Fecha en el foro de Mysql en Foros del Web. Hola que tal, vi que hay cantidad de temas sobre esto y estuve buscando bastante pero no logo entender lo siguiente: Tengo mi query: Código ...
  #1 (permalink)  
Antiguo 03/07/2012, 14:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Busqueda Mysql curdate Fecha

Hola que tal, vi que hay cantidad de temas sobre esto y estuve buscando bastante pero no logo entender lo siguiente:

Tengo mi query:

Código PHP:
select idcuponiddatosdmestado from cupones where estado='n' AND MONTH(fechavencimiento) = MONTH(CURDATE()) 
Que muestra cupones de pago que vencen este mes. Ahora lo que quiero hacer es agregar una consulta que me traiga los cupones que vencen este mes y el mes anterior, es decir que mi campo fechavenicmiento sea igual al mes actual y sea igual al mes anterior y que cualquier registro que conicida con eso me lo devuelva.

Estuve probando con curdate -1 interval 30 pero no logro dar con la respuesta.

Muchas Gracias!
  #2 (permalink)  
Antiguo 03/07/2012, 14:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Mysql curdate Fecha

Hay muchas formas de lograrlo.
Esta es una:
Código MySQL:
Ver original
  1.     idcupon,
  2.     iddatosdm,
  3.     estado
  4. FROM cupones
  5.     estado='n'
  6.     AND MONTH(fechavencimiento)  IN(MONTH(CURDATE(), (MONTH(CURDATE()-1))  
  7.     AND YEAR(fechavencimiento) = YEAR(CURDATE());
Lo último lo pongo para evitar que te tome lo de otros años.

Si quieres agregar más meses, te conviene usar rangos de tiempo en el caso que sean consecutivos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/07/2012, 15:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Mysql curdate Fecha

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Hay muchas formas de lograrlo.
Esta es una:
Código MySQL:
Ver original
  1.     idcupon,
  2.     iddatosdm,
  3.     estado
  4. FROM cupones
  5.     estado='n'
  6.     AND MONTH(fechavencimiento)  IN(MONTH(CURDATE(), (MONTH(CURDATE()-1))  
  7.     AND YEAR(fechavencimiento) = YEAR(CURDATE());
Lo último lo pongo para evitar que te tome lo de otros años.

Si quieres agregar más meses, te conviene usar rangos de tiempo en el caso que sean consecutivos.
Disculpa la ignorancia, me devuelve el siguiente error esa query:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' (MONTH(CURDATE()-1)) AND YEAR(fechavencimiento) = YEAR(CURDATE()) LIMIT ' at line 8

que puede ser?
  #4 (permalink)  
Antiguo 03/07/2012, 18:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Mysql curdate Fecha

Bueno, yo no puse ningún LIMIT, así que no sé qué le agregaste...
Pero además de eso, un consejo: Jamás se copia y pega una consulta de muestra sin revisarla primero. Siempre se debe verificar que esté bien escrita.
¿O crees que nadie tiene errores de tipeo?
Código MySQL:
Ver original
  1.     idcupon,
  2.     iddatosdm,
  3.     estado
  4. FROM cupones
  5.     estado='n'
  6.     AND MONTH(fechavencimiento) IN(MONTH(CURDATE()), (MONTH(CURDATE()-1))
  7.     AND YEAR(fechavencimiento) = YEAR(CURDATE()));
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 03/07/2012 a las 18:57

Etiquetas: curdate, fecha, select, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:19.