프로그래머스_자동차 대여 기록에서 장기/단기 대여 구분하기

임정민·2023년 5월 3일

SQL 문제풀이

목록 보기
3/53
post-thumbnail

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;

'RENT_TYPE' 이라는 새로운 Column을 추가하고 조건에 맞게 데이터를 입력해야 했습니다. CASE, WHEN을 통해 조건에 맞는 데이터를 RENT_TYPE에 추가해주었습니다. 🐕🐕🐕

여기서 DATEDIFF(시작일,반납일)을 통해 대출 기간이 30일 이상인지 판단해야했는데 +1 해주는 것이 포인트였습니다. 만약 DATEDIFF(2022-09-01,2022-09-01) 이라면 의미적으로는 하루 빌렸음에도 값은 0이였습니다. 이를 DATEDIFF(START_DAE,END_DATE) + 1 >= 30 이라는 조건으로 설정해주어 해결했습니다.🤸🤸🤸

감사합니다.🍳🍳🍳

profile
https://github.com/min731

0개의 댓글