inblog logo
|
stupefyee
    SQL문제풀기

    [SQL 문제 풀이] 자동차 대여 기록에서 장기/단기 대여 구분하기

    프로그래머스 (151138)
    Stupefyee's avatar
    Stupefyee
    Mar 24, 2025
    [SQL 문제 풀이] 자동차 대여 기록에서 장기/단기 대여 구분하기
    Contents
    내가 작성한 쿼리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/151138
    notion image
     

    내가 작성한 쿼리

    Oracle

    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 (END_DATE - START_DATE) + 1 >= 30 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;

    MySQL

    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;

    차이점

    • 날짜 형식 변경 방식의 차이
    • 날짜간의 차이 일수 계산하는 방식의 차이
    • 특정 일자 가져오는 방식의 차이

    주의점

    • 띄어쓰기에 주의 → 장기대여, 단기대여 이런식으로 붙여 적으면 정답 처리 X
     
    Share article
    Contents
    내가 작성한 쿼리

    stupefyee

    RSS·Powered by Inblog