만들어가는 세상

[MySQL] 시간 더하기, 빼기 본문

IT/ETC

[MySQL] 시간 더하기, 빼기

윤재웅 2020. 4. 22. 15:07

ORACLE과 전혀 다른 함수를 이용합니다. MySQL에서 특정 시간을 기준으로 더하거나, 빼야 하는 경우가 있습니다. 이 때 사용하는 함수가 DATE_ADD와 DATE_SUB입니다. 특정 사용을 예를 들면 게시판에 새글이 표시될때 제목에 NEW 아이콘을 유지할 경우 (현재 날짜-7 < 게시글 등록일 기준으로 처리 하는 경우 입니다.

예 ) IF(DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -7  DAY) < REG_DATE, 'Y','N')  AS NEW_YN 
  • DATE_ADD는 기준 날짜에 입력된 기간만큼을 더하는 함수입니다.
  • DATE_SUB는 기준 날짜에 입력된 기간만큼을 빼는 함수입니다.
사용법
  • 시간 더하기

    DATE_ADD(기준 날짜, INTERVAL)
  • 시간 빼기

    DATE_SUB(기준 날짜, INTERVAL)

DATE_ADD 함수

현재 시간에 1초 더하기 (+)
SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND);
현재 시간에 1분 더하기 (+)
SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE);
현재 시간에 1시간 더하기 (+)
SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR);
현재 시간에 1일 더하기 (+)
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);
현재 시간에 1달 빼기 (-)
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH);
현재 시간에 1년 빼기 (-)
SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR);
현재 시간에 1년 빼기 (-)
SELECT DATE_ADD(NOW(), INTERVAL -1 YEAR);

DATE_SUB 함수

현재 시간에 1초 빼기 (-)
SELECT DATE_SUB(NOW(), INTERVAL 1 SECOND);
현재 시간에 1분 빼기 (-)
SELECT DATE_SUB(NOW(), INTERVAL 1 MINUTE);
현재 시간에 1시간 빼기 (-)
SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);
현재 시간에 1일 빼기 (-)
SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);
현재 시간에 1달 더하기 (+)
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);
현재 시간에 1년 더하기 (+)
SELECT DATE_SUB(NOW(), INTERVAL 1 YEAR);
현재 시간에 1년 더하기 (+)
SELECT DATE_SUB(NOW(), INTERVAL \-1 YEAR);
Comments