시간 범위 sql
본문
예를 들어 작업시간이 01:00 부터 09:00 시 까지 등록이 되어 있다면
검색 할때 저 시간외에 것을 검색할려고 하는데
범위지정 sql 문을 어떻게 짜야 하나요?
wr_6 : 등록된 시작시간
wr_7 : 등록된 종료시간
order_start_hour : 검색할 시작시간
order_end_hour : 검색할 종료시간
wr_6 not between '".$order_start_hour."' and '".$order_end_hour."' and wr_7 not between '".$order_start_hour."' and '".$order_end_hour."'
이렇게 하니까.. 제대로 작동을 안하는것 같아서요
!-->답변 2
범위를 지정할때 기본적으로 선택해야 하는 상황은
X값을 찾기위한 a 부터 b 까지중에서
c부터 d 까지의 교차범위가 존재하면
조건에 좀더 명확해져야 합니다.
1. c 값이 a 보다 크거나 같고 d값이 b보다 작거나 같을때
where c between a and b
and d between a and b
로 범위가 둘다 참일때
2. c값이 a와 b범위에 있거나 d값이 a와 b범위에 있을때
where c between a and b or d between a and b
3. c값이 a와 b범위에 해당하지 않고, d도 a와 b범위에 해당하지 않을때
where c not between a and b and d not between a and b
4. c값이 a와 b범위에 해당하지 않거나, d값이 a와 b범위에 해당하지 않거나 일때
where c not between a and b
or d not between a and b
지금 검색하시려고 하는 대상에 대한 의도가 명확해야 조건절이 좀더 명확해집니다.
날짜가 넘어가는 시간대가 없다면
and wr_7 < '".$order_start_hour."' and
wr_6 not between > '".$order_end_hour."'