SQL 공부중 입니다. ✍✍✍
문제
https://school.programmers.co.kr/learn/courses/30/lessons/151138
풀이
[나의 풀이]
SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE,'%Y-%m-%d')"START_DATE", DATE_FORMAT(END_DATE,'%Y-%m-%d')"END_DATE",
CASE
WHEN DATEDIFF(END_DATE,START_DATE) + 1 >= 30 THEN '장기 대여'
ELSE '단기 대여'
END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE LIKE '2022-09%'
ORDER BY HISTORY_ID DESC;
여기서 DATEDIFF(시작일,반납일)을 통해 대출 기간이 30일 이상인지 판단해야했는데 +1 해주는 것이 포인트였습니다. 만약 DATEDIFF(2022-09-01,2022-09-01) 이라면 의미적으로는 하루 빌렸음에도 값은 0이였습니다. 이를 DATEDIFF(START_DAE,END_DATE) + 1 >= 30 이라는 조건으로 설정해주어 해결했습니다.🤸🤸🤸
감사합니다.🍳🍳🍳