MySql Seleccionar registros donde la fecha es del mes pasado o anterior

Estoy tratando de seleccionar datos donde la fecha es del último día del mes pasado o anterior, por lo que no se deben mostrar los datos del mes actual.

consulta:

SELECT * FROM payments WHERE request_date ... 

y no se como continuar.

Muchas Gracias

preguntado el 10 de septiembre de 13 a las 01:09

6 Respuestas

Tratar:

SELECT * FROM payments WHERE request_date < DATE_FORMAT(NOW(),'%Y-%m-01 00:00:00')

Cualquier cosa antes de las 12:00 a. m. del primer día del mes en curso.

Respondido el 10 de Septiembre de 13 a las 01:09

SELECT * FROM payments WHERE request_date <= (curdate() - interval dayofmonth(curdate()) DAY);

Respondido el 10 de Septiembre de 13 a las 01:09

SELECT * FROM payments WHERE request_date BETWEEN DATE_SUB(request_date, INTERVAL 1 MONTH)

Respondido el 10 de Septiembre de 13 a las 01:09

Algo como esto debería hacerlo por ti:

SELECT * FROM payments WHERE DATE_SUB(CURDATE(),INTERVAL 31 DAY) >= request_date;

Respondido el 10 de Septiembre de 13 a las 01:09

"SELECCIONE * DESDE pagos DONDE request_date ='".data('Ym-t',strtotime("-1 mes",time()))."'"

Respondido el 10 de Septiembre de 13 a las 01:09

Pruebe lo siguiente:

SELECT * FROM payments WHERE datediff(now(),request_date)>30

Respondido el 10 de Septiembre de 13 a las 01:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.