https://school.programmers.co.kr/learn/courses/30/lessons/151138
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 :
예시 :
해결 :
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) < 29 THEN '단기 대여'
ELSE '장기 대여'
END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE LIKE '2022-09-%'
ORDER BY HISTORY_ID DESC;
CASE문을 활용하여 대여일자를 계산하여 '단기 대여'인지 '장기 대여'인지를 파악하여 출력하도로록 했습니다.
LIKE문을 이용하여 2022년 09월에 이루어진 대여를 검색하였습니다.
DESC를 활용하여 HISTORY_ID를 기준으로 내림차순 정렬하여 출력했습니다.
정보 :
1. DATE_FORMAT(A, "")
DATE타입의 값을 원하는 형식으로 표현하도록 변환합니다. "%Y-%m-%d"로 사용하면 "년-월-일"의 형식으로 출력합니다.
2. DATEDIFF(A, B)
A와 B 사이의 날짜 차이를 계산합니다.
3. LIKE '2022-%'
문자열의 공통된 부분이 있다면 참을 반환합니다.
공통되지 않아도 되는 부분은 '%' 기호를 사용하여 표현합니다.
'DB' 카테고리의 다른 글
[프로그래머스]조건에 맞는 도서와 저자 리스트 출력하기(mySQL) (2) | 2023.12.01 |
---|---|
[프로그래머스]자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기(mySQL) (3) | 2023.11.30 |
[프로그래머스] 자동차 평균 대여 기간 구하기(MySQL) (0) | 2023.11.30 |
[프로그래머스] 조건에 부합하는 중고거래 상태 조회하기(MySQL) (0) | 2023.11.29 |
[프로그래머스] 여러 기준으로 정렬하기(MySQL) (2) | 2023.11.27 |