질문 드립니다..
매일 오전 8:30 부터 18:30까지의 데이터를 Select 하려면
where 절을 어떻게 해야 할까요?
특정일자라고 하면
날짜 between '특정일자 8:30' and '특정일자 18:30' 이라고 한다면 간단하겠지만
검색하려고하는
예를 들어 2009-01-01 부터 2009-01-31까지의,
특정시간대 오전 8:30 부터 18:30 구간을 검색하려고 한다면 쿼리를
어떻게 만들어야 할까요?
create table date_test ( c1 datetime) -- 일자가 포함된 경우 select * from date_test where c1 > '2009-01-01 08:30' and and c1 < '2009-01-31 18:30' -- 시간만 있는 경우 select * from date_test where convert (char(5), c1, 18) > '08:30' and convert (char(5), c1, 18) < '18:30' 이경우는 c1에 인덱스가 걸려있어도 테이블 스캔을 해서 테이블이 큰경우 속도가 많이 늦을듯 헌데 22:000 ~ 다음날 03:00 와 같은 쿼리는 안되겠네요 아마도 이런 쿼리는 의미가 없는 쿼리 일듯. --매일 (당일) select * from date_test where c1 > convert (varchar , getdate(), 111)+' 08:30' and c1 < convert (varchar , getdate(), 111)+' 18:30'