2009-12-19 6 views
0

J'ai un problème Mysql. (J'utilise PHP avec ça).MySQL: Qui sont aujourd'hui "sur" entre 2 dates différentes

Par exemple, j'avoir ce genre de base de données:

Nom | Commencé et | va se terminer
Jason | 2009-12-17 | 2009-12-24
Ericke | 2009-12-12 | 2009-12-30
Maria | 2010-01-02 | Avec la question mysql (ou php), je voudrais obtenir les noms des personnes qui sont "sur" en ce moment (2009-12-19).

La réponse devrait être:
Jason
Ericke

Merci pour votre aide précieuse à l'avance!

Répondre

2

qu'en est-il d'une requête dans laquelle vous comparez les dates?

Quelque chose comme ça, je suppose, devrait faire:

select name 
from your_table 
where started <= curdate() 
    and will_end >= curdate() 

Notes:

  • Vous aurez besoin d'ajuster les noms des tables et des colonnes, bien sûr
  • et peut-être vous » Je veux utiliser > et < au lieu de >= et <=; dépend de vos données.
  • J'utilise la fonction curdate(), qui obtient la date du jour en cours - je préfère cela que d'injecter la date dans la requête en utilisant du code PHP.
+0

Nous vous remercions de votre aide! – jsk

+0

De rien :-) Amusez-vous! –

2
SELECT * 
    FROM `table` 
WHERE CURDATE() BETWEEN `startdate` AND `enddate` 
Questions connexes