2011-01-26 16 views
12

Quiero seleccionar las filas de la fecha ahora hasta 7 días en el futuro, ¿cómo puedo hacer esto? Lee mucho sobre la función de la fecha de MySQL, pero no puedo entenderlo, este es el código de MySQL:Mostrar los registros a partir de ahora() hasta los próximos 7 días en mysql

SELECT id, date_format(datum, '%d/%m') AS date, 
     date_format(datum, '%H:%i') AS time, date 
FROM wedstrijden 
WHERE date >= now() 
ORDER BY datum asc 

que tengo que hacer algo con:

date >= now() till 7 days further 
+0

http://stackoverflow.com/questions/2684520/mysql-date-add-usage-5-day-interval –

Respuesta

46

yo diría que la forma más elegante sería:

WHERE `date` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) 

Editar: this doc page es como la cosa más útil siempre. Marcar como favorito, porque es totalmente útil.

+1

es el intervalo de 7 "día" Creo que gracias ;-) ayudaron – Frank

+0

Ah, es cierto ! :-) Y eres bienvenido. – TehShrike

+0

has guardado meh ... estaba teniendo muchos problemas con '...> = DATE_SUB (....)' –

0

Algo así como:

"...WHERE date >= NOW() AND date <= ADDTIME(NOW(), 168:00:00)..." 

debe lograr lo que está buscando. El 168: 00: 00 es un poco específico para sus necesidades, ADDTIME toma cualquier formato de fecha y hora.

4

podría utilizar el modificador INTERVAL añadir a la semana a la hora de la siguiente manera:

...WHERE date >= NOW() AND date <= NOW() + INTERVAL 7 DAY; 
+0

Este es el derecho responder con el método Tehshrike recibo mysql_error porque no es ENTRE NOW() Y DATE_ADD (NOW(), el intervalo de 7 días) pero ENTRE NOW() Y DATE_ADD (NOW(), el intervalo de 7 días) días = día – Frank

1

lo que utilizo para obtener todos los datos a partir de 7 días atrás hasta ahora a partir de la base de datos:

SELECT * FROM wedstrijden WHERE DATE(date_from_table) > CURDATE() + INTERVAL 7 DAY

Cuestiones relacionadas