[SQL] mysql 날짜 관련 함수 정리

eun·2022년 6월 16일
6

SQL

목록 보기
6/8
post-thumbnail
post-custom-banner

1. 날짜, 시간 계산 함수

  • DATE_ADD() : 날짜, 시간 더하기
  • DATE_SUB() : 날짜, 시간 빼기
  • DATEDIFF() : 두 기간 사이의 일수 계산
  • TIMEDIFF() : 두 기간 사이의 시간 계산
  • PERIOD_DIFF() : 두 기간 사이의 개월 수 계산
  • TIMESTAMPDIFF() : 두 기간 사이의 시간 계산

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()

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

TIMEDIFF()

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

PEROID_DIFF()

  • 두 기간 사이의 개월 수 차이 계산
    P1 - P2
    ( P1 : 종료 년월, P2 : 시작 년월 )
  • P1, P2에는 YYYYMM 또는 YYMM 형식으로 값을 지정한다.
PERIOD_DIFF(P1,P2)
SELECT PERIOD_DIFF('202202','202112');
>> 2

SELECT PERIOD_DIFF('202202','201212');
>> -10

SELECT PERIOD_DIFF('2202','1912');
>> 26

TIMESTAMPDIFF()

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


2. 날짜 관련 함수

DATE_FORMAT()

DATE_FORMAT(date, format)
SELECT DATE_FORMAT(now(), '%Y-%m-%d');
>> 2022-06-17
profile
study archive 👩‍💻
post-custom-banner

0개의 댓글