Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz wartości między datą rozpoczęcia a datą zakończenia

Czytałem ten problem, szukając nakładania się zakresów:

więc masz dane w zakresie:T1 do T3. I szukam pokrywania się z zakresem T2 do T4. Ponieważ nakładają się na siebie, chcesz. Jednak, jeśli dane to T1 do T3, a zakres to T4 do T5 .. nie nakładają się, więc nie chcę.

Możesz to zrobić za pomocą tego zapytania:

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

Więc jeśli zaczęło się po podanej dacie (14 lutego 2015), nie dołączaj tego.lub jeśli zakończyło się przed 3 stycznia 2013 r.... nie uwzględniaj tego. Uwzględnij wszystko inne, ponieważ się pokrywa:

Na przykład:dane kończą się po dacie rozpoczęcia podanego zakresu, a data rozpoczęcia danych jest przed końcem, więc jest to jeden z następujących przypadków:

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

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

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

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wybierz sumę z 2 tabel

  2. Przyczyna:java.sql.SQLException:nieobsługiwane kodowanie znaków „utf8mb4”

  3. Jak sprawdzić, czy w tabeli znajdują się zduplikowane wartości kolumn, zanim wstawię je za pomocą Perla?

  4. „max_user_connections” ustawiono na 200 – nadal pojawia się błąd

  5. Utwórz tabelę tymczasową w instrukcji SELECT bez oddzielnej tabeli CREATE TABLE