MySQL: que hoy están “en” entre 2 fechas diferentes
Pregunta
Tengo un problema de MySQL. (Utilizo PHP con él).
Por ejemplo, tengo este tipo de base de datos:
Nombre | Comenzado y | terminará
Jason | 2009-12-17 | 2009-12-24
Ericke | 2009-12-12 | 2009-12-30
maria | 2010-01-02 | 2010-01-10
Con MySQL (o php) pregunta me gustaría obtener los nombres de las personas, que son "sobre" en este momento (2009-12-19).
La respuesta debería ser:
Jason
Ericke
Gracias por su gran ayuda por adelantado!
Solución
¿qué pasa con una consulta en la que se comparan las fechas?
Algo como esto, supongo, debe hacer:
select name
from your_table
where started <= curdate()
and will_end >= curdate()
Notas:
- Usted tendrá que ajustar los nombres de tablas y columnas, por supuesto
- y tal vez desee utilizar
>
y<
en lugar de>=
y<=
; depende de sus datos. -
curdate()
función, que obtiene la fecha del día actual -. me gusta más que la inyección de la fecha en la consulta utilizando un código PHP
Otros consejos
SELECT *
FROM `table`
WHERE CURDATE() BETWEEN `startdate` AND `enddate`
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow