단죤 의 블로그
[Programmers SQL] (String, Date) 자동차 대여 기록에서 장기/단기 대여 구분하기 본문
출처
https://school.programmers.co.kr/learn/courses/30/lessons/299308
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요.
🚩틀린문제/GPT 활용
DATEDIFF 함수
[MSSQL] 날짜, 시간 차이 일수 계산 (DATEDIFF)
SQL Server에서 시작일자와 종료일자 사이의 일수 또는 시간, 분, 초 등의 차이를 계산할 때 DATEDIFF 함수를 사용한다. DATEDIFF 함수는 두 날짜를 비교하여 DATEPART 구분자에 따라서 차이를 계산하여 결
gent.tistory.com
ORDER BY 1 DESC;는 결과를 정렬하는 방식을 지정하는 구문, 여기서 1은 SELECT문에서 첫 번째로 나열된 컬럼 의미
정답
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,
IF(DATEDIFF(end_date, start_date)<29, '단기 대여', '장기 대여') AS rent_type
FROM
car_rental_company_rental_history
WHERE
DATE_FORMAT(start_date, '%Y-%m')='2022-09'
ORDER BY
1 DESC;
'DB🖥️ > SQL' 카테고리의 다른 글
[SQL]패스트캠퍼스강의_SQL 연산자 및 문자열 함수 요약 정리 (0) | 2025.01.22 |
---|---|
[Programmers SQL] (SELECT) 특정 형질을 가지는 대장균 찾기 (0) | 2025.01.21 |
[SQL] DATE FUNCTION (0) | 2025.01.21 |
[Programmers SQL] (String, Date) 분기별 분화된 대장균의 개체 수 구하기 (0) | 2025.01.21 |
[Programmers SQL] (String, Date) 한 해에 잡은 물고기 수 구하기 (0) | 2025.01.21 |