Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kiểm tra sự chồng chéo của các phạm vi ngày trong MySQL

Tôi đã có một truy vấn như vậy với một ứng dụng lịch mà tôi đã từng viết. Tôi nghĩ rằng tôi đã sử dụng một cái gì đó như thế này:

... WHERE new_start < existing_end
      AND new_end   > existing_start;

CẬP NHẬT Điều này chắc chắn sẽ hoạt động ((ns, ne, es, ee) =(new_start, new_end, current_start, current_end)):

  1. ns - ne - es - ee:không chồng chéo và không khớp (vì ne
  2. ns - es - ne - ee:chồng chéo và trùng khớp
  3. es - ns - ee - ne:chồng chéo và khớp
  4. es - ee - ns - ne:không trùng lặp và không khớp (vì ns> ee)
  5. es - ns - ne - ee:chồng chéo và khớp nhau
  6. ns - es - ee - ne:chồng chéo và khớp nhau

Đây là fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gọi một tập lệnh PHP từ trình kích hoạt MySQL

  2. Tôi nên sử dụng loại / độ dài cột nào để lưu trữ mật khẩu được băm Bcrypt trong Cơ sở dữ liệu?

  3. Cách trả về danh sách các bộ ký tự có sẵn trong MySQL

  4. Tăng tốc độ xuất và nhập mysql

  5. Cách tạo cơ sở dữ liệu trong MySQL