일자까지만 저장되어 있다면 맞겠지만
시분초 단위까지 저장되어 있다면 틀렸죠.
사용하신 조건은 29일 0시0분0초 ~ 30일 0시0분0초 까지입니다.
30일 0시0분1초 ~ 30일 23시59분59초 까지가 누락될수밖에 없는 조건이죠.
29일 0시0분0초 ~ 30일 23시59분59초 까지로 조건을 주셔야 합니다.
이 때.. 주의할 것은 날짜 항목의 데이터 형에 따라 조건을 주는 방법이 다릅니다.
1. VARCHAR2(14) 인 경우
AND c.tpt_input_date >= :p_DateS_tt
AND c.tpt_input_date <= :p_DateE_tt || '235959'
2. DATE 인 경우
AND c.tpt_input_date >= TO_DATE(:p_DateS_tt, 'yyyymmdd')
AND c.tpt_input_date <= TO_DATE(:p_DateE_tt || '235959', 'yyyymmddhh24miss')
그런데...
입력 인자들을 그대로 스트링으로 붙이는 방식은 좋지 않습니다.
보안상 문제(SQL Injection 해킹)도 있고, 성능상(Hard Parsing) 문제도 있습니다.
바인드 변수를 사용하도록 권장합니다.