익일은 내일인데???
검색 범위(익일 00시00분00초 부터 ~ 현재시간)가 이상하네요?
검색 범위를 명확하게 해주셔야 할 듯 하네요.
1. 익일이 아닌 오늘이거나?(오늘 00시00분00초 부터 ~ 현재시간)
2. 검색 범위의 시작종료가 뒤바뀌거나? (현재시간~익일 00시00분00초)
3. 현재시간의 의미가 익일 동시간대를 의미하거나?(익일 00시00분00초 부터 ~ 익일 현재시간)
그리고 검색 하고자 하는 컬럼의 자료형을 알려주셔야 합니다.
date 형인지? varchar2 형인지?
varchar2 일 경우 어떤 형태로 저장되는지?
-- 1. Trunc 로 시분초 자르기 -- SELECT * FROM t WHERE dt BETWEEN TO_CHAR(TRUNC(sysdate), 'yyyymmddhh24miss') AND TO_CHAR( sysdate , 'yyyymmddhh24miss') ; -- 2. 일자만 가져와 '000000' 붙이기 -- SELECT * FROM t WHERE dt BETWEEN TO_CHAR(sysdate, 'yyyymmdd') || '000000' AND TO_CHAR(sysdate, 'yyyymmddhh24miss') ; -- 3. 일자만 사용해도 무방함. 굳이 '000000' 안붙여도 비교 가능 -- SELECT * FROM t WHERE dt BETWEEN TO_CHAR(sysdate, 'yyyymmdd') AND TO_CHAR(sysdate, 'yyyymmddhh24miss') ; -- 4. 만약 해당 컬럼이 등록일시라면?(즉, 미래 자료 없다면?, 현재까지 자료만 있다면?) SELECT * FROM t WHERE dt >= TO_CHAR(sysdate, 'yyyymmdd') -- WHERE dt LIKE TO_CHAR(sysdate, 'yyyymmdd') || '%' ;