CASE WHEN 조건절로 케이스 유형에 따라서 날짜를 조회하려고 합니다.
TABLE명 : TEST .
제목 옆에 괄호는 컬럼명입니다.
제목(TITLE) |
유형(KIND) |
유형명(KIND_NM) |
시작일(START_DT) |
종료일(END_DT) |
작성일(WRITE_DT) |
테스트1 |
1 |
일별 |
19000101 |
99991231 |
20150420 |
테스트2 |
2 |
주별 |
19000101 |
99991231 |
20150420 |
테스트3 |
3 |
월별 |
19000101 |
99991231 |
20150420 |
테스트4 |
4 |
분기별 |
19000101 |
99991231 |
20150420 |
테스트5 |
5 |
년별 |
19000101 |
99991231 |
20150420 |
테스트6 |
6 |
기간 |
20150401 |
20150531 |
20150420 |
유형별에 따라서 CASE WHEN 시작일, 종료일로 한번에 해결하려고 합니다.
유형명이 일별이면 작성일(WRITE_DT) BETWEEN 오늘 AND 오늘
유형명이 주별이면 작성일(WRITE_DT) BETWEEN 20150419 AND 20150425
유형명이 월별이면 작성일(WRITE_DT) BETWEEN 20150401 AND 20150430
유형명이 분기별이면 작성일(WRITE_DT) BETWEEN 2015401 AND 20150630
유형명이 년별이면 작성일(WRITE_DT) BETWEEN 20150101 AND 20151231
유형명이 기간 이면 작성일(WRITE_DT) BETWEEN 시작일 (20150401) AND 종료일(20150501)
데이터는 6건 전부 조회됩니다.
WHERE 조건절에 CASE BETWEEN으로 가능한지
안되면 WHERE 조건절로 어떻게 구현해야 하나요?
고수님들의 답변 부탁드립니다. |