apc_dt는 날짜 타입이고요
데이터는 2016/01/01 14:34:34 이런식으로 들어있어요
제가 뽑고싶은건
:str_ym 에 201612
:end_ym에 201701
이렇게 넣었을경우 20161201~ 20170131의 데이터를 가지고 오고싶은데요
select * from table where apc_dt between to_date(:str_ym, 'yyyymm') and last_day(to_date(:end_ym, 'yyyymm'))
이렇게 했을경우 count가 안맞아서요..
201612 201612를 넣었을경우 카운트가 28144가 나오고
201701 201701를 넣었을 경우는 19491
201612 201701를 넣었을 경우는 47643이 나와요
왜 카운트가 다른지 모르겠어요...ㅜㅜ
다른 방법이 있을까요?
일자 조건만 주었기 때문에 마지막 일자의 0 시 정각 자료만 포함됩니다.
마지막 일자의 0시0분1초 부터 23시59분59초 까지의 자료가 누락됩니다.
SELECT * FROM table WHERE apc_dt >= TO_DATE(:str_ym, 'yyyymm') AND apc_dt < ADD_MONTHS(TO_DATE(:end_ym, 'yyyymm'), 1) ; SELECT * FROM table WHERE apc_dt >= TO_DATE(:str_ym, 'yyyymm') AND apc_dt <= LAST_DAY(TO_DATE(:end_ym, 'yyyymm')) + 0.99999 ;