[MySQL] 날짜 관련 함수

thingzoo·2024년 3월 6일
0

MySQL

목록 보기
17/17
post-thumbnail

날짜/시간 계산 함수

DATE_ADD()

  • 날짜, 시간 더하기
DATE_ADD(기준날짜, INTERVAL)
SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND)
SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE)
SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR)
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY)
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH)
SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR)
SELECT DATE_ADD(NOW(), INTERVAL -1 YEAR)

DATE_SUB()

  • 날짜, 시간 빼기
DATE_SUB(기준날짜, INTERVAL)
SELECT DATE_SUB(NOW(), INTERVAL 1 SECOND)

DATEDIFF()

  • 두 기간 사이의 일수 계산(종료일 - 시작일)
    • 날짜 포맷에 시간이 포함되어 있는 경우, 시간은 계산에 포함하지 않음
    • 날짜 범위에서 벗어나는 값을 입력하는 경우 NULL을 반환
DATEDIFF(종료일, 시작일)
SELECT DATEDIFF('2021-12-31','2021-01-02');
>> 345

TIMEDIFF()

  • 두 기간 사이의 시간 계산(종료시간 - 시작시간)
    • 시간 또는 날짜 범위에서 벗어난 값을 입력하는 경우 NULL을 반환
TIMEDIFF(종료시간, 시작시간)
SELECT TIMEDIFF('2022-02-01 23:00:00','2022-01-30 00:00:00');
>> 71:00:00

PEROID_DIFF()

  • 두 기간 사이의 개월 수 차이 계산(종료년월 - 시작년월)
    • 형식: YYYYMM 또는 YYMM
PERIOD_DIFF(종료년원,시작년월)
SELECT PERIOD_DIFF('202202','202112');
>> 2
SELECT PERIOD_DIFF('202202','201212');
>> -10
SELECT PERIOD_DIFF('2202','1912');
>> 26

TIMESTAMPDIFF()

  • 시간, 개월 수 등 여러 가지 형태의 계산을 할 수 있는 함수
  • 단위(반환 값 형식): MONTH, YEAR, HOUR ...
TIMESTAMPDIFF(단위, 시작일, 종료일)
SELECT TIMESTAMPDIFF(MONTH,'2021-02-01','2022-03-01');
>> 13

기타 관련 함수

DATE_FORMAT()

  • 날짜 형식 설정 함수
DATE_FORMAT(date, format)
SELECT DATE_FORMAT(now(), '%Y-%m-%d');
>> 2012-03-14
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글