안녕하세요..
DATE TYPE 필드가 있습니다.
하고자 하는것은 연도와 분기를 입력받아서,
해당 연도/분기 이전 4분기에 해당하는 데이타를 뽑고자 함입니다.
찾아보니 TO_CHAR(날짜, 'YYYY"Q"Q') 이걸 사용하는 예제가 있던데,
해당 필드가 인덱스 필드라 가공을 하면 안되는 상황입니다.
고민고민 하다 문의드립니다.
즉 DATE 필드에 대해서 WHERE 절에 입력받은 분기 이전 4분기 시작날짜(해당월 1일 0시0분0초) ~ 입력받은 분기 종료날짜(해당월말일 23시59분59초) 까지 데이타를 추출하고 싶습니다.
허접한 실력으로 하다보니 허접한 쿼리가 됐습니다. YQ 값은 2011Q2, 2009Q3 이렇게 받습니다.
날짜필드 BETWEEN
ADD_MONTHS(TO_DATE(SUBSTR(YQ, 1, 4) || SUBSTR(YQ, 6) * 3, 'YYYYMM'), -11)
AND
TO_DATE(TO_CHAR(LAST_DAY(TO_DATE(SUBSTR(YQ, 1, 4) || LPAD(SUBSTR(YQ, 6, 1) * 3, 2, '0'), 'YYYYMM')), 'YYYYMMDD') || '235959', 'YYYYMMDDHH24MISS') |