by 와아아앙 [SQL Query] [2022.02.15 19:44:32]
파라미터 값으로 시작일 종료일 문자열 데이터(yyyyMMdd)가 있고
테이블 컬럼이 연도 컬럼, 월 컬럼(VARCHAR2)이 인덱스로 잡혀있을 경우
시작일과 종료일 사이의 데이터를 조회하고 싶은데
WHERE 연도 || 월 BETTWEN SUBSTR(시작일, 1, 6) AND SUBSTR(종료일, 1, 6) 이런식으로 하면
인덱스가 안잡히는데
어떤 식으로 조회해야 인덱스를 탈 수 있을까요??
SELECT * FROM t WHERE 연도 || 월 BETTWEN SUBSTR(시작일, 1, 6) AND SUBSTR(종료일, 1, 6) AND 연도 BETTWEN SUBSTR(시작일, 1, 4) AND SUBSTR(종료일, 1, 4) ;
연,월,일 을 나누면 범위검색이 어렵습니다. 하나의 항목으로 관리하는게 좋습니다.