자동차 대여 기록에서 장기/단기 대여 구분하기 MySQL코테/MySQL2024. 1. 16. 15:26
Table of Contents
문제
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요.
풀이
DATEDIFF = MYSQL에서 날짜 간의 차이를 계산하는 함수이다. 이 함수는 두 날짜 사이의 일 수 차이를 반환 한다
위에서 END_DATE 에서 START_DATE 를 뺀 일 수를 반환한다.
CASE = SQL에서 조건에 따라 다른 결과를 반환하는 구문이다
DATEDIFF(END_DATE,START_DATE) +1 >= 30 의 조건이 맞으면 THEN '장기 대여' 나오도록 아니면 ELSE '단기 대여' 나오도록
예를 들어
SELECT
CASE
WHEN age >= 18 THEN '성인'
WHEN age >= 13 THEN '청소년'
ELSE '어린이'
END AS age_group
FROM users;
나이가 18세 이상이면 성인 , 13세 이상이면 청소년 , 그 외에는 어린이
@Soohocoding :: Soohocoding
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!