[SQL] MySQL 날짜관련 함수 사용시 주의할 점
2023. 12. 13. 19:37ㆍDB/MYSQL
728x90
MySQL 에서 지원하는 DATE_ADD / DATE_SUB 사용시 INTERVAL 을 선언하여 시간 유형의 조합으로 많이 쓰이는데,
아무 생각 없이 INTERVAL 을 사용할 경우 주의가 필요한 사항이 있어 기록.
[문제상황] 2월 같은 윤달의 경우 2월이 28일까지 있으면, 1월은 31일까지 존재하는데, 1월에 한 달을 더 할 경우 문제 발생
문제상황
: '2019-01-30 12:00:00' 와 '2019-01-31 11:00:00'의 경우 시간의 순서 상으로 전자 ('2019-01-30 12:00:00')가 먼저 발생하게 되는데, 두 날짜에 아래와 같이 1달을 더하는 함수를 적용할 경우 출력 값을 확인해보면 동일하게 1달을 더했지만 후자('2019-01-31 11:00:00') 의 출력값이 시간 순서 상으로 더 먼저인 것으로 출력되는 상황이 발생
select DATE_ADD('2019-01-30 12:00:00', INTERVAL 1 MONTH) AS '2019-01-30:12:00:00_add1M'
, DATE_ADD('2019-01-31 11:00:00', INTERVAL 1 MONTH) AS '2019-01-31:11:00:00_add1M'
항상 시간 날짜관련 함수가 편리하지만, 한 번 더 생각해보고 사용하는 주의가 필요
728x90
'DB > MYSQL' 카테고리의 다른 글
[SQL] MySQL DATE_ADD(날짜 더하기) & DATE_SUB(날짜 빼기) (0) | 2023.12.13 |
---|---|
[MySQL] 윈도우 MySQL 클라이언트 사용법 (0) | 2022.08.23 |
[MySQL] 윈도우 MySQL 설정방법 (0) | 2022.08.23 |
[MySQL] 윈도우 MySQL Workbench 설치방법 (0) | 2022.08.23 |
[MySQL] 맥북 MySQL Workbench 설치방법 (0) | 2020.05.31 |