년도와 분기를 입력받아 해당 분기의 시작일과 종료일을 알수 있을까요? 0 3 3,574

by 날개 [2016.04.14 18:37:13]


년도와 분기를 입력받아 해당 분기의 시작일과 종료일을 알수 있을까요?

어떻게 해야되나요? 검색해보니 시작일과 종료일 구하는건 나오는데 해당날짜만 입력받더라구요

by 신이만든짝퉁 [2016.04.14 19:01:08]
with t(quater, begin_ymd, end_ymd) as  (
    select 1, '0101', '0331' from dual union all
    select 2, '0401', '0630' from dual union all
    select 3, '0701', '0930' from dual union all
    select 4, '1001', '1231' from dual)
select :year year, :quater quater, :year||begin_ymd begin_ymd, :year||end_ymd end_ymd
  from t
 where quater = :quater  ;
      

 


by 마농 [2016.04.15 08:37:06]
SELECT y, q
     , TO_CHAR(ADD_MONTHS(TRUNC(TO_DATE(y, 'yyyy'), 'y'), q*3-3), 'yyyymmdd') s
     , TO_CHAR(ADD_MONTHS(TRUNC(TO_DATE(y, 'yyyy'), 'y'), q*3)-1, 'yyyymmdd') e
  FROM (SELECT '2016' y, '1' q FROM dual)
;

SELECT y, q
     , y || DECODE(q, 1, '0101', 2, '0401', 3, '0701', 4, '1001') s
     , y || DECODE(q, 1, '0331', 2, '0630', 3, '0930', 4, '1231') e
  FROM (SELECT '2016' y, '4' q FROM dual)
;

 


by 날개 [2016.04.15 10:38:43]
감사합니다!
덕분에 문제가 해결되었어요
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입