[MySQL] 프로그래머스 SQL / 자동차 대여 기록에서 장기/단기 대여 구분하기 / 컬럼 추가 / DATEDIFF()

2024. 4. 25. 13:13Coding Test/MySQL

https://school.programmers.co.kr/learn/courses/30/lessons/151138#qna

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

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,
CASE WHEN DATEDIFF(END_DATE, START_DATE) >= 29 THEN '장기 대여'
ELSE '단기 대여' END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE BETWEEN '2022-09-01' AND '2022-09-30'
ORDER BY HISTORY_ID DESC ;

 

 

RENT_TYPE이라는 컬럼을 추가해야할 경우 FROM 절 앞에 쓰기!!

DATEDIFF(종료일, 시작일) 이라는 함수를 통해 날짜 차이를 구할 수 있게 된다.

시작일과 종료일 모두가  2022년 9월 1일 수가 있기 때문에 30이 아니라 29일로 해야한다.