Coding Test/프로그래머스 - ORACLE

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

6uiw 2024. 11. 15. 18:23

📌문제

 


📌정답

SELECT HISTORY_ID, CAR_ID, 
    TO_CHAR(START_DATE,'YYYY-MM-DD') AS START_DATE, 
    TO_CHAR(END_DATE,'YYYY-MM-DD') AS END_DATE, 
    CASE WHEN TO_NUMBER(END_DATE-START_DATE)>=29
        THEN '장기 대여'
    ELSE '단기 대여'
    END AS RENT_TYPE
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
    WHERE TO_CHAR(START_DATE,'YYYY-MM') = ('2022-09')
    ORDER BY HISTORY_ID DESC;

 


📌해설

오답의 이유: 대여기간에 대한 수식을 잘못 설정.

대여기간은 대여 시작일부터 1일로 계산하므로 '대여 기간 30일'을 계산하려면

대여 기간 = 대여 종료일 - 대여 시작일+1 = 30

∴ 대여 종료일 - 대여 시작일 = 29

 

 


📢

1. 개발자 준비생이 공부한 내용을 정리한 글입니다. 내용에 오류가 있을 수 있습니다.
2. 위와 같은 이유로 내용에 대한 지적과 조언은 감사하게 받습니다.
3. 이 글의 내용은 계속 공부함으로써 언제든지 추가/수정 될 수 있습니다.