본문 바로가기
MYSQL/프로그래머스

자동차 대여 기록에서 장기/단기 대여 구분하기

by 수스리 2025. 2. 8.
더보기

SELECT 
HISTORY_ID,
CAR_ID,
DATE_FORMAT(START_DATE, "%Y-%m-%d") AS START_DATE,
DATE_FORMAT(END_DATE, "%Y-%m-%d") AS END_DATE,
IF(TIMESTAMPDIFF(DAY, START_DATE, END_DATE) >= 29, '장기 대여', '단기 대여') AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE YEAR(START_DATE) = '2022' AND MONTH(START_DATE) = '9'
ORDER BY HISTORY_ID DESC

여기서 잠깐! 처음으로 쓰이는 함수 등장!

바로 TIMESTAMPDIFF 함수다. 

TIMESSTAMPDIFF 함수는 두 날짜 사이의 시간 차이를 계산해 준다.

TIMESTAMPDIFF(unit, start_datetime, end_datetime)

  • unit : 반환 할 시간 단위
    • SECOND , MINUTE , HOUR , DAY , WEEK , MONTH , YEAR등이 있다.
  • start_datetime 과 end_datetime : 비교할 시작 및 종료 날짜/시간 값.