2012-03-30 3 views
1

J'ai une table avec deux colonnes (date de début & enddate) et j'ai deux dates de soumission (2012-02-29 & 2012-03-30) J'essaie d'obtenir les données entre startdate (2012-02- 29) et la date de fin (2012-03-30)SQL entre les dates

J'ai essayé

i.startdate between '2012-02-29' and i.enddate '2012-03-30' 

mais ne fonctionnait pas, je l'ai été googler pendant des heures sans réponse claire, toute aide serait appréciée , Merci d'avance.

Répondre

5

Si je comprends bien:

  1. Votre table contient deux champs de date, StartDate et EndDate, qui décrivent un événement de longue haleine.
  2. Vous voulez trouver tous les événements qui tombent complètement dans la période décrite par deux autres dates, dans ce cas 2012-02-29 et 2012-03-30.

Si cela est correct, veuillez utiliser le:

SELECT * FROM Events 
    WHERE StartDate >= '2012-02-29' AND EndDate <= '2012-03-30'; 
+0

c'est exactement ce que je cherchais, merci Larry – user979331

1
where ('2012-02-29' between i.startdate and i.enddate) and ('2012-03-30' between i.startdate and i.enddate) 
3
SELECT * FROM table_with_dates WHERE (i.startdate BETWEEN '2012-02-29' AND '2012-03-30') AND (i.enddate BETWEEN '2012-02-29' AND '2012-03-30') 
0

Je comprends que vous voulez vos deux présentations (deux dates) entre startdate et endDate? si

Where (@firstDate between StartDate and EndDate) and (@secondDate between StartDate and EndDate) 
0

Depuis la date de début et enddate sont des champs séparés et que vous recherchez startdates et enddates spécifiques que vous ne avez pas vraiment besoin d'un entre, à

select ..... from ..... where i.startdate >= '2012-02-29' and i.enddate =< '2012-03-30'