다음 반기 구하기 1

by 슷하벅스 [Oracle 기초] [2024.06.12 16:08:43]


Yyyymm형식의 데이터 날짜가 있는데요

그날짜 기준으로 다음 반기를 구할수 있나요?

Ex) 데이터 202411 -> 202501

된다면 추가적으로 다음반기의 초일까지 구할수있을까요?

Ex) 데이터 202411 -> 20250101

by 마농 [2024.06.12 17:05:08]
WITH t AS
(
SELECT '202401' ym FROM dual
UNION ALL SELECT '202402' FROM dual
UNION ALL SELECT '202403' FROM dual
UNION ALL SELECT '202404' FROM dual
UNION ALL SELECT '202405' FROM dual
UNION ALL SELECT '202406' FROM dual
UNION ALL SELECT '202407' FROM dual
UNION ALL SELECT '202408' FROM dual
UNION ALL SELECT '202409' FROM dual
UNION ALL SELECT '202410' FROM dual
UNION ALL SELECT '202411' FROM dual
UNION ALL SELECT '202412' FROM dual
)
SELECT ym
     , TO_CHAR(
       ADD_MONTHS(TO_DATE(ym, 'yyyymm'), 6 - MOD(SUBSTR(ym, 5) - 1, 6))
       , 'yyyymmdd') next_half
  FROM t
;

 

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