sql >> Databáze >  >> RDS >> Mysql

Vyberte hodnoty mezi datem zahájení a datem ukončení

Tento problém jsem četl jako hledání překrytí rozsahů:

takže máte data v rozsahu:T1 až T3. A hledat překrytí s rozsahem T2 až T4. Protože se překrývají, chcete. Pokud jsou však data T1 až T3 a rozsah je T4 až T5 .. žádné překrývání, takže nechci.

Můžete to udělat pomocí tohoto dotazu:

Select id 
  from eventos_sapo 
 where startDate <= '2015-02-14'
   AND endDate >= '2013-01-03';

Pokud to tedy začalo po daném datu (14. února 2015), nezahrnujte to. nebo pokud skončilo před 3. lednem 2013 ... nezahrnujte to. Zahrňte vše ostatní, protože se to překrývá:

Jako 1 příklad:Data končí po datu zahájení daného rozsahu a datum zahájení dat je před koncem, takže je to jeden z následujících případů:

Data:           |---|
Given range:      |---|

Data:           |-------|
Given range:      |---|

Data:             |---|
Given range:    |---|

Data:             |---|
Given range:    |-------|


  1. Jak Java pro OS X 2013-004 ovlivňuje (přerušuje) aplikace Swing?

  2. MySQL vyberte, kde má vlastnost pole JSON hodnotu

  3. java.lang.UnsatisfiedLinkError:no ocijdbc11 v jazyce Java. knihovna.cesta

  4. SQL Jedinečné omezení napříč více tabulkami