기간 중복 찾기

개요

  • 기간 중복 체크 문제에서 복잡한 쿼리가 만들어지는 경우가 많다. 보통 중복 가능한 케이스를 or 로 연결한다.

기간의 6가지 케이스

  1. 시작 ~ 종료 안에 :시작, :종료가 포함되는 경우
  2. 시작 ~ 종료 안에 :시작이 포함되는 경우
  3. 시작 ~ 종료 안에 :종료가 포함되는 경우
  4. 시작 ~ 종료 를 :시작, :종료가 포함하는 경우
  5. 시작 ~ 종료 앞에 :시작, :종료가 있는 경우
  6. 시작 ~ 종료 뒤에 :시작, :종료가 있는 경우
  • 1~4번 케이스가 중복되는 조건 이다.

4가지 중복 조건을 하나의 조건으로

  • 위 4가지 중복 케이스 조건을 하나로 하기 위해서는 시작이 종료보다 작고 종료는 시작보다 큰 경우 하나로 귀결된다.