Algorithem/프로그래머스 PS with code

프로그래머스 MySQL : [lv.1] 자동차 대여 기록에서 장기/단기 대여 구분하기

jamong5 2023. 7. 20. 17:47

 

DATEDIFF, CASE, MONTH

날짜의 차를 구할때는 DATEDIFF로 구해야한다. 단순히 빼버리면 10진수 뺄셈으로 결과가 나온다.

rent_type의 경우 CASE문으로 처리해주고, 9월을 select 하는건 MONTH로 해결할 수 있다.

 

쿼리문

SELECT  HISTORY_ID,
        CAR_ID,
        DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE,
        DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE, 
        CASE
            WHEN DATEDIFF(end_date, start_date)+1 >= 30 THEN '장기 대여'
            ELSE '단기 대여'
        END AS RENT_TYPE
        
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE MONTH(START_DATE) = 9
ORDER BY HISTORY_ID DESC