728x90
문제 링크
문제
테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요.
코드
SELECT
c.HISTORY_ID,
c.CAR_ID,
DATE_FORMAT(c.START_DATE, '%Y-%m-%d') as START_DATE,
DATE_FORMAT(c.END_DATE, '%Y-%m-%d') as END_DATE,
IF(DATEDIFF(END_DATE, START_DATE) >= 29, '장기 대여', '단기 대여') as RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY as c
WHERE c.START_DATE >= '2022-09-01' AND c.START_DATE < '2022-10-01'
ORDER BY c.HISTORY_ID DESC;
공부한 내용 및 해설
MySQL 관련 내용입니다.
- DATEDIFF
- 두 날짜간의 차이를 가져오는 함수이며, 반환 값은 일을 기준으로 한다.
- DATEDIFF(날짜1, 날짜2) 이며 날짜의 형식은 일치 하지 않아도 된다.
- DATEDIFF(20220915, 2022-09-14) 는 1을 반환한다.
- TIMESTAMPDIFF
- 두 날짜간의 차이를 가져오는 함수이며, 반환 값은 연, 분기, 월, 주, 일, 시, 분, 초로 지정할 수 있다.
- TIMESTAMPDIFF(단위, 날짜1, 날짜2)
- 단위
- SECOND : 초
- MINUTE : 분
- HOUR : 시
- DAY : 일
- WEEK : 주
- MONTH : 월
- QUARTER : 분기
- YEAR : 연
728x90
'데이터베이스 > SQL' 카테고리의 다른 글
[프로그래머스] MySQL 조건에 맞는 도서 리스트 출력하기 Lv1 [엄탱] (1) | 2023.09.02 |
---|---|
[프로그래머스] MySQL(AVG) 평균 일일 대여 요금 구하기 Lv1 [엄탱] (1) | 2023.09.02 |
[프로그래머스] MySQL(IN) 루시와 엘라 찾기 Lv2 [엄탱] (1) | 2023.09.02 |
[프로그래머스] MySQL 특정 옵션이 포함된 자동차 리스트 구하기 Lv1 [엄탱] (1) | 2023.09.02 |
[프로그래머스] MySQL 조건에 부합하는 중고거래 댓글 조회하기 Lv1 [엄탱] (13) | 2023.09.01 |