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

NoHae·2025년 2월 2일

SQL

목록 보기
39/86

문제 출처

코딩테스트 연습 > String, Date > 자동차 대여 기록에서 장기/단기 대여 구분하기
https://school.programmers.co.kr/learn/courses/30/lessons/151138

문제 설명

접근 방법

datediff 함수를 이용하여 end_date - start_date + 1 이 30일 이상이면 장기 대여, 아닐 경우 단기 대여로 출력한다.

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, 
if (datediff(end_date,start_date)+1 >= 30, "장기 대여", "단기 대여") as rent_type
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
where year(start_date) = 2022 and month(start_date) = 9
order by history_id desc

알게된 점

sql에서 if문은
if(조건식, true일 경우, false일 경우) 의 구조로 이루어져있다.

datediff(끝 날짜, 시작 날짜) + 1 을 해야 날짜의 차이를 알 수 있다.

문제푼 흔적

profile
노력 해보려고 하는 사람(00년생 소프트웨어융합학과, 24년 12월 부터 백엔드 및 코테 공부 시작)

0개의 댓글