코딩테스트 연습 - 자동차 대여 기록에서 장기/단기 대여 구분하기 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[문제]
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요.
[날짜 차이 구하기 - DATEDIFF]
DATEDIFF(날짜1, 날짜2);
[MySQL] 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) :: 확장형 뇌 저장소 (tistory.com)
[MySQL] 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수)
▶MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶설명 MySQL에서 두 날짜간의 차이를 가져올 때 사용하는 함수가 두 가지가 있습니다. 단순히 일 차이를 가져올 때 사용하는 것이 DATEDIFF 함수
extbrain.tistory.com
[CASE 문 - CASE, WHEN, THEN, END]
[MySQL] CASE 기본 사용법 :: 확장형 뇌 저장소 (tistory.com)
[MySQL] CASE 기본 사용법
▶MySQL CASE 기본 사용법 ▶설명 MySQL에서 CASE문은 프로그래밍 언어에서 스위치(switch)문과 비슷하지만,다수의 조건에 하나의 반환 값은 동작하지 않습니다. ▶사용법 CASE WHEN 조건 THEN '반환 값' WHEN
extbrain.tistory.com
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 '장기 대여'
WHEN DATEDIFF(end_date, start_date)+1 < 30
THEN '단기 대여'
END
) AS 'RENT_TYPE'
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE LIKE '2022-09-%'
ORDER BY history_id DESC;
'‡ CODING TEST STUDY ‡ > º 프로그래머스' 카테고리의 다른 글
[프로그래머스 Lv.1 Java] 달리기 경주 (0) | 2023.11.20 |
---|---|
[프로그래머스 Lv.0 Java] 대소문자 바꿔서 출력하기 (0) | 2023.11.20 |
[SQL Lv.1] 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2023.11.07 |
[SQL Lv.1] 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2023.11.07 |
프로그래머스 [Lv1] | 이름 없는 동물의 아이디, 이름 있는 동물의 아이디, NULL 처리하기 (0) | 2023.07.28 |