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

Seleccionar entre fechas

Estas en el tema de Seleccionar entre fechas en el foro de Mysql en Foros del Web. Muy buenas. Estoy empezando un proyecto, y es la primera vez que usa campos tipo DATETIME (siempre he usado timestamp ). Tengo una gran duda ...
  #1 (permalink)  
Antiguo 01/10/2008, 15:55
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Seleccionar entre fechas

Muy buenas.

Estoy empezando un proyecto, y es la primera vez que usa campos tipo DATETIME (siempre he usado timestamp). Tengo una gran duda acerca de cómo seleccionar a partir de una fecha un registro que contenga la fecha de inicio y fin.

Es decir, si tengo un registro con éstos datos:

id: 666
fechaInicio: 2008-10-31 19:00
fechaFin: 2008-11-07 20:00

¿Cómo puedo seleccionar ese registro indicando una fecha (fechaHoy) y que solo seleccione el registro si está entre fechaInicio y fechaFin?

Luego también hay registros que no tienen fechaFin, pero que deberían de seleccionarse si fechaInicio coincide con fechaHoy.

Gracias por leer y muchas por contestar.
  #2 (permalink)  
Antiguo 01/10/2008, 23:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Seleccionar entre fechas

SELECT id, fechaInicio, fechafin FROM tabla WHERE '2008-04-14' = DATE(fechainicio) OR '2008-04-14' BETWEEN DATE(fechainicio) AND DATE (fechafin)

Empieza probando esto.

Si con fechahoy te refieres al día de hoy, puedes escribir, en lugar de '2008-04-14', CURDATE(), con lo que obtendrás la fecha del día en curso. Una pregunta: ¿cuando no tienen fecha fin, qué aparece en el campo, es decir, qué fecha tiene escrita? ¿tal vez 0000-00-00 00:00:00, que es la fecha por defecto, el NULL de una fecha?

Última edición por jurena; 02/10/2008 a las 00:35
  #3 (permalink)  
Antiguo 02/10/2008, 15:27
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Seleccionar entre fechas

Gracias por la respuesta jurea.

Mañana lo miro con más detalle porque aquí ya son las 22:30 y no está la cabeza para éstos menesteres.

Si, cuando no hay fecha especificada sale el NULL. Sería mejor usar algún otro método? Por ejemplo indicar en otro campo que no tiene fin con un valor booleano o algo similar?
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 04:48.