일, 주, 월 조회 0 4 1,323

by Kaiger [2016.10.25 18:14:18]


 

 

where 절 조건입니다

일 조회는 cnrtdt= to_char(to_date(?)),'yyyymmdd')

이렇게 받고 있습니다. 

파라메타가 2016-10-25 로 넘어오고

주 조회는 2016-10 3 이렇게 넘어오는데 조건절을 어떻게 줘야할까요?

마찬가지로 월은 2016-10 으로 넘어옵니다

by 마농 [2016.10.25 18:39:21]

10월 3주차는 언제부터 언제까지죠?

주차는 적용기준이 제각각이라 기준을 명확하게 정하지 않으면 안됩니다.

월이 나뉘는 부분의 주차에 대한 기준은 있는지? 등등


by Kaiger [2016.10.25 19:53:14]

월에 대한 조회는 to_char(to_date(cnrtdt),'YYYY-MM W')

로 가져옵니다


by 마농 [2016.10.25 20:26:42]
SELECT *
  FROM t
     , (SELECT TO_CHAR(DECODE( LENGTH(p)
                             , 10, TO_DATE(p, 'yyyy-mm-dd')
                             ,  9, TO_DATE(SUBSTR(p, 1, 7), 'yyyy-mm') + SUBSTR(p, -1)*7-7
                             ,  7, TO_DATE(p, 'yyyy-mm')
                             ), 'yyyymmdd') sdt
             , TO_CHAR(DECODE( LENGTH(p)
                             , 10, TO_DATE(p, 'yyyy-mm-dd')
                             ,  9, TO_DATE(SUBSTR(p, 1, 7), 'yyyy-mm') + SUBSTR(p, -1)*7-1
                             ,  7, LAST_DAY(TO_DATE(p, 'yyyy-mm'))
                             ), 'yyyymmdd') edt
          FROM (SELECT :v_param AS p FROM dual)
        )
 WHERE cnrtdt BETWEEN sdt AND edt
;

 


by Kaiger [2016.10.27 11:18:55]

감사합니다.. 주 조회는 문제가 좀 있어서 빼기로 했습니다..

답변 감사드립니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입