📌문제
📌정답
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. 이 글의 내용은 계속 공부함으로써 언제든지 추가/수정 될 수 있습니다.
'Coding Test > 프로그래머스 - ORACLE' 카테고리의 다른 글
프로그래머스 Oracle Lv2. 중성화 여부 파악하기 (1) | 2024.11.29 |
---|---|
프로그래머스 Oracle Lv.2 중복 제거하기 (1) | 2024.11.15 |
프로그래머스 ORACLE Lv.1 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2024.11.11 |
프로그래머스 ORACLE Lv.1 상위 n개 레코드 (0) | 2024.11.11 |