2014-10-31 1 views
1

starttime/date가 이고 endtime/date 인 주차 예약 시스템을 만들고 있습니다. 다른 차량이 이미 촬영했기 때문에 같은 지점을 동시에 예약 할 수 없습니다.나는 2 개의 datepickers를 가지고 있는데,이 날짜의 중간 또는 중간에 중복되는 2 개의 날짜를 선택하려고합니다.

세 가지 옵션이 있습니다 : 나는에서 검색 할

STARTTIME   | ENDTIME     
    2014-11-14 13:00:00 | 2014-11-16 14:00:00 

: - 중복 회/ 날짜 - /시간의 주위에 데이터베이스의

예 날짜 - 시간 사이/ 날짜 사용할 수없는 모든 날짜를 데이터베이스에 저장하십시오. 예 :

새로운 예약 (AROUND excisting 일자), 사용자 입력에 의해,

STARTTIM    | ENDTIME    
    2014-11-13 10:00:00 | 2014-11-17 16:00:00 

어떠한 방식으로 새로운 예약이 excisting 예약 겹치는 경우, 쿼리 출력해야 모든 날짜 사용할 수없는

답변

0

나는 이것이 당신이 원하는 로직 생각 :

select t.* 
from table t 
where p.starttime < @EndTime and p.EndTime > @StartTime; 

@StartTime@EndTime은 사용자 입력이있는 변수입니다. 두 마디가 서로 겹쳐지기 전에 시작되고 첫 마디가 다른 마디가 시작된 후에 끝나면 두 마침표가 겹치게됩니다.

+0

귀하의 반응에 진심으로 감사드립니다. 그러나이 코드는 두 가지 중 하나가 중간에있는 경우가 아니라 전체 겹침을 다루고 있습니다. – Joost

+0

@ 주스트. . . 텍스트에는 올바른 논리가 있지만 코드가 잘못되었습니다. 설명과 일치하도록 코드를 수정했습니다. –

관련 문제