Table_A
START_DATE START_TIME END_DATE END_TIME
2014-04-22 08:00:10 2014-04-22 08:00:10
2014-04-22 08:07:13 2014-04-22 08:07:13
2014-04-23 08:17:17 2014-04-23 08:17:17
2014-04-23 08:42:59 2014-04-23 08:42:59
이란 테이블이 있을때,
2014년 4월 22일 07시 58분 24초 ~ 2014년 04월 23일 14시 00분 00초 까지 검색을
다음 쿼리와 같이
SELECT *
FROM Table_A
WHERE START_DATE + ' ' + START_TIME >= '2014-04-22 ' + '07:58:24'
AND END_DATE + ' ' + END_TIME <= '2014-04-23 ' + '14:00:00'
이런 식으로 칼럼을 결합하여 범위검색을 하였는데요..
결합형식이 아닌 AND나 OR로 날짜+시간 범위를 조회할 수 있을까요??
-- 위에 적으신 조건을 그대로 바꾸면 다음과 같습니다만... WHERE ((start_date = '2014-04-22' AND start_time >= '07:58:24') OR start_date > '2014-04-22') AND (( end_date = '2014-04-23' AND end_time <= '14:00:00') OR end_date < '2014-04-23') -- 실제로 범위검색은 위처럼 하시면 안됩니다. 시작과 종료를 교차비교하셔야 합니다. WHERE start_date + ' ' + start_time <= '2014-04-23' + ' ' + '14:00:00' AND end_date + ' ' + end_time >= '2014-04-22' + ' ' + '07:58:24' -- 이걸 바꿔보면 WHERE ((start_date = '2014-04-23' AND start_time <= '14:00:00') OR start_date < '2014-04-23') AND (( end_date = '2014-04-22' AND end_time >= '07:58:24') OR end_date > '2014-04-22')