본문 바로가기
💻 하나씩 차곡차곡/프로그래머스 (SQL)

[String, Date/LEVEL1] 자동차 대여 기록에서 장기/단기 대여 구분하기 (MySQL/Oracle)

by 뚜루리 2023. 6. 13.
728x90
320x100

MySQL

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

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
;
728x90
320x100