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

Mostrar datos con fecha de hoy y 3 dias mas

Estas en el tema de Mostrar datos con fecha de hoy y 3 dias mas en el foro de Mysql en Foros del Web. Hola, antes que todo agradecer cualquier ayuda o guia que me puedan dar. Bueno les comento quiero hacer una consulta donde me entrege los resultados ...
  #1 (permalink)  
Antiguo 17/12/2012, 14:07
 
Fecha de Ingreso: marzo-2011
Mensajes: 18
Antigüedad: 13 años, 1 mes
Puntos: 0
Mostrar datos con fecha de hoy y 3 dias mas

Hola, antes que todo agradecer cualquier ayuda o guia que me puedan dar.
Bueno les comento quiero hacer una consulta donde me entrege los resultados de unas reservas desde hoy y 3 dias mas, por ejemplo hoy es 17 quiero que me busque todas las reservas en la tabla hasta el dia 20.
Bueno yo por mi parte he hecho algunos intentos pero que no me han funcionado y navegando por internet encontre esta forma pero me resta 3 dias osea que me selecciona todas las reservas del 14 al 17.

SELECT * FROM reservas
WHERE
fecha_a_reservar_r >= SUBDATE( CURDATE(), INTERVAL 3 DAY)


Despues intente de esta forma pero lo que me hace es semarle 3 dias, entonces me hace la seleccion del 20, tan solo me busca las reservas de ese dia

SELECT * FROM reservas
WHERE
fecha_a_reservar_r >= ADDDATE( CURDATE(),3)

Mi idea es que aparesca algo asi como un rango de hoy y 3 dias mas, espero haberme explicado bien, desde ya agradecido.
  #2 (permalink)  
Antiguo 17/12/2012, 16:33
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Mostrar datos con fecha de hoy y 3 dias mas

Hola pyrata:

Siempre que incluyas algún código que no funcione, incluye cuál es el error, porque de lo contrario estaríamos adivinando. Si el código marca algún error, entonces incluye el código del error, si el código se ejecuta, pero no obtienes el resultado esperado, entonces pon algunos datos de ejemplo, indicando qué es lo que estás obteniendo y qué es lo que quisieras obtener. De esta manera será más factible que te podamos ayudar.

En cuanto a tu pregunta, antes que nada deberías por comenzar a decirnos de qué tipo es tu columna, puedo suponer que se trata de un tipo DATE. Desde el momento en que estás hablando de un RANGO, entonces necesitas un límite inferior y un límite superior, puedes hacerlos con <= y >= o con la palabra reservada BETWEEN... la consulta (qué es bastante simple por cierto) quedaría así:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM reservas;
  2. +------+--------------------+
  3. | id   | fecha_a_reservar_r |
  4. +------+--------------------+
  5. |    1 | 2012-12-15         |
  6. |    2 | 2012-12-16         |
  7. |    3 | 2012-12-17         |
  8. |    4 | 2012-12-18         |
  9. |    5 | 2012-12-19         |
  10. |    6 | 2012-12-20         |
  11. |    7 | 2012-12-21         |
  12. +------+--------------------+
  13. 7 rows in set (0.00 sec)
  14.  
  15. mysql> SELECT * FROM reservas
  16.     -> WHERE
  17.     -> fecha_a_reservar_r >= CURDATE() AND
  18.     -> fecha_a_reservar_r <= ADDDATE(CURDATE(), INTERVAL 3 DAY);
  19. +------+--------------------+
  20. | id   | fecha_a_reservar_r |
  21. +------+--------------------+
  22. |    3 | 2012-12-17         |
  23. |    4 | 2012-12-18         |
  24. |    5 | 2012-12-19         |
  25. |    6 | 2012-12-20         |
  26. +------+--------------------+
  27. 4 rows in set (0.00 sec)

Si observas estoy utilizando la función ADDDATE que mencionas en tu post. Mucho ojo, no esperes encontrar una respuesta solo para copiar y pegar... por lo general te daremos consejos o tips, con la intención de que tú practiques un poco y des con la respuesta. Considera esto para la siguiente.

Saludos
Leo.

Etiquetas: dias, fecha, resultados, select, tabla
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 00:54.