-
프로그래머스 - 자동차 대여 기록에서 장기/단기 대여 구분하기 - 151138 [MySQL]문제 풀이/프로그래머스 2023. 7. 18. 23:30반응형
이 문제는 datediff 를 사용하면 쉽게 풀리는 간단한 문제지만, 한 가지 유의할 점이 있다. 예를 들어 6월 1일부터 6월 30일까지의 일수 차이를 구하면 29일이 맞지만, 이 문제에서는 대여 시작 날이 포함되도록 예시를 보여주고 있다. 즉, datediff 를 사용하고 1을 더해야 정답이 나온다.
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 YEAR(START_DATE) = 2022 AND MONTH(START_DATE) = 9 ORDER BY HISTORY_ID DESC ;
반응형'문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 [MySQL] (2) 2023.08.01 프로그래머스 - 디스크 컨트롤러 [C++] (0) 2023.07.26 프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 [MySQL] (0) 2023.06.23 프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 [MySQL] (0) 2023.06.23 프로그래머스 - 동명 동물 수 찾기 [MySQL] (0) 2023.06.21