WITH t AS ( -- 형변환(문자 -> 날짜) SELECT CONVERT(DATETIME, '20201201', 112) dt UNION ALL SELECT CAST('20201202' AS DATETIME) dt ) SELECT dt , DATEADD(day, -1, DATEADD(month, 12, dt)) -- 날짜 계산 , CONVERT(varchar, dt, 112) -- 형변환(날짜 -> 문자) , FORMAT(dt, 'yyyyMMdd') -- 형변환(날짜 -> 문자) 2012버전 FROM t ; TO_CHAR( ADD_MONTHS( TO_DATE(PD.DT), 12*YESR ) -1 ,'YYYYMMDD') CONVERT(varchar, DATEADD(day, -1, DATEADD(month, 12 * yesr, CONVERT(DATETIME, pd.dt, 112))), 112)