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

Przecięcie zakresu dat w SQL

Jeśli twój przykład powinien wskazywać 70 w pierwszym rzędzie, to

zakładając @range_start i @range_end jako parametry warunku:

SELECT SUM( LEAST(@range_end, stop) - GREATEST(@range_start, start) )
FROM Table
WHERE @range_start < stop AND @range_end > start

przy użyciu największej /least i funkcje daty powinieneś być w stanie uzyskać to, czego potrzebujesz bezpośrednio, działając na typie daty.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie daty i godziny MySQL z poprzednim wierszem

  2. MySQL 8 dzieli ciąg przecinkami i konwertuje go na JSON ARRAY

  3. Nie można połączyć się zdalnie z instalacją EC2 MySQL

  4. MySQL - Jak zliczyć wszystkie wiersze na tabelę w jednym zapytaniu

  5. Jak wstawić dane do dwóch różnych tabel?