[SQL] MySQL DATE_ADD(날짜 더하기) & DATE_SUB(날짜 빼기)
2023. 12. 13. 18:45ㆍDB/MYSQL
728x90
DATE_ADD (날짜 더하기), DATE_SUB(날짜 빼기)
-- 날짜더하기
DATE_ADD([DATE 타입 대상컬럼] , INTERVAL [시간 유형])
-- 날짜빼기
DATE_SUB([DATE 타입 대상컬럼] , INTERVAL [시간 유형])
기본 시간유형
- MICROSECOND(마이크로 초/백만분의 1초)
- SECOND (초)
- MINUTE (분)
- HOUR (시)
- DAY (일)
- WEEK (주)
- MONTH (달)
- QUARTER (분기)
- YEAR (년도)
/* 기본 시간유형 사용 예제 */
-- 한 달 더하기
select DATE_ADD(NOW() , INTERVAL 1 MONTH) ;
-- 한 달 빼기
DATE_SUB([DATE 타입 대상컬럼] , INTERVAL [시간 유형])
select DATE_SUB(NOW() , INTERVAL 1 MONTH) ;
시간 유형 조합
- SECOND_MICROSECOND (초.마이크로초)
- MINUTE_MICROSECOND (분:초.마이크로초)
- MINUTE_SECOND (분:초)
- HOUR_MICROSECOND (시간:분:초.마이크로초)
- HOUR_SECOND(시간:분:초)
- HOUR_MINUTE (시간:분)
- DAY_MICROSECOND (일 시간:분:초.마이크로초)
- DAY_SECOND (일 시간:분:초)
- DAY_MINUTE (일 시간:분)
- DAY_HOUR (일 시간)
- YEAR_MONTH (년-월)
/* 시간 유형 조합 사용 예시1 */
-- 4일 3시간을 더하기
select NOW() cur , DATE_ADD(NOW(), INTERVAL '4 3' DAY_HOUR) cur_add4D3H;
-- 출력
'cur : 2023-12-13 19:17:54', 'cur_add4D3H : 2023-12-17 22:17:54'
/* 시간 유형 조합 사용 예시2 */
-- 4년 4개뤌을 뺴기
select NOW() cur , DATE_SUB(NOW(), INTERVAL '4 4' YEAR_MONTH) cur_sub4Y4M;
-- 출력
'cur : 2023-12-13 19:20:42', 'cur_sub4Y4M :2019-08-13 19:20:42'
[예제]오늘(특정날짜) 기준으로 하루, 일주일, 한달 데이터 가져오기
-- 하루
SELECT * FROM TABLE WHERE DATE_COLUMN BETWEEN DATE_ADD(NOW(),INTERVAL -1 DAY) AND NOW();
-- 일주일
SELECT * FROM TABLE WHERE DATE_COLUMN BETWEEN DATE_ADD(NOW(),INTERVAL -1 WEEK) AND NOW();
-- 한달
SELECT * FROM TABLE WHERE DATE_COLUMN BETWEEN DATE_ADD(NOW(),INTERVAL -1 MONTH) AND NOW();
INTERVAL 을 사용한 날짜연산 함수 사용시 주의 할 점
참고 :
728x90
'DB > MYSQL' 카테고리의 다른 글
[SQL] MySQL 날짜관련 함수 사용시 주의할 점 (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 |