PS/BOJ&Programmers
[프로그래머스] 자동차기록에서 장기/단기 대여 구분하기 | DATEDIFF, SQL IF문
sebinChu
2024. 2. 23. 20:56
개요
이 문제의 핵심은
- 대여 시작일이 2022년 9월이어야 한다. ➡️ date_format 함수로 DATE형 원하는 형식으로 수정하기
- 장기/단기 기간은 30일이 기준이다. ➡️ datediff 함수와 if문 이용하기
DATEDIFF
날짜의 차이를 일(day)로 환산해주는 함수.
datediff(date1, date2)
계산은 date1 - date2로 진행된다.
음수는 0으로 도출된다.
IF문
if문은 SELECT와 WHERE 절에 사용할 수 있다.
- IF문
if(조건, 참일 때 결과, 거짓일 때 결과)
if(datediff(end_date,start_date)<=0, "단기", "장기")
- 중첩 IF문
if(조건, 참, if(조건, 참, 거짓))
if(score<50, "C+", if(score<40, "F"))
전체 코드
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)>=29, "장기 대여", "단기 대여") as rent_type
from car_rental_company_rental_history
where date_format(start_date, "%Y-%m") = "2022-09"
order by history_id desc;