[프로그래머스] MySQL / 자동차 대여 기록에서 장기/단기 대여 구분하기
2024. 1. 8. 15:49ㆍCoding/프로그래머스-SQL
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/151138
문제
코드
-- 코드를 입력하세요
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 START_DATE LIKE '2022-09%'
ORDER BY HISTORY_ID DESC;
1. 우리는 하루를 셀 때 오늘 하루를 포함한다. 따라서 CASE WHEN 첫째 줄 좌항에 +1을 해준다.
CASE WHEN으로 30일 이상인 경우와 아닌 경우를 케이스 분류 시켜준다.
2. 2022년 9월인 경우만 출력되도록 와일드카드와 LIKE를 넣어준다.
'Coding > 프로그래머스-SQL' 카테고리의 다른 글
[프로그래머스] MySQL / 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.01.08 |
---|---|
[프로그래머스] MySQL / 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2024.01.08 |
[프로그래머스] MySQL / 나이 정보가 없는 회원 수 구하기 (0) | 2024.01.08 |
[프로그래머스] MySQL / NULL 처리하기 (0) | 2024.01.08 |
[프로그래머스] MySQL / 이름이 있는 동물의 아이디 (0) | 2024.01.08 |