mysql 컬럼 날짜랑 숫자 더하기? 질문드립니다.. 0 1 1,138

by 메밀묵도토리묵 [SQL Query] mariadb dbeaver [2022.08.10 11:24:33]


a b c
202201 1 202202
202201 2 202203
202201 3 202204
202201 1 202202
202201 2 202203
202201 3 202204
202204 1 202205
202204 2 202206
202204 3 202207

mysql에서 a와 b컬럼을 더해서 c컬럼의 데이터처럼 나타나게 하는 방법이 있을까요?

컬럼의 숫자끼리 더하는 방법은 알겠는데, a컬럼의 년 4자리, 월 2자리로 된 date 형식이어서 어떻게 해야할지 잘 모르겠습니다..

by 마농 [2022.08.10 13:02:19]
WITH t AS
(
SELECT '202201' a, 1 b
UNION ALL SELECT '202201', 2
UNION ALL SELECT '202201', 3
UNION ALL SELECT '202201', 1
UNION ALL SELECT '202201', 2
UNION ALL SELECT '202201', 3
UNION ALL SELECT '202204', 1
UNION ALL SELECT '202204', 2
UNION ALL SELECT '202204', 3
)
SELECT a
     , b
     , DATE_FORMAT(DATE_ADD(CONCAT(a, '01'), INTERVAL b MONTH), '%Y%m') c
  FROM t
;
-- 직전 질문에 DATE_ADD 를 이용해 날짜 더하는 방법 알려드렸는데요...
-- http://gurubee.net/article/85882

 

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