https://school.programmers.co.kr/learn/courses/30/lessons/151138
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
SELECT
HISTORY_ID, CAR_ID,
DATE_FORMAT(START_DATE, '%Y-%m-%d') START_DATE,
DATE_FORMAT(END_DATE, '%Y-%m-%d') END_DATE,
CASE
WHEN DATEDIFF(END_DATE, START_DATE) + 1>= 30 THEN '장기 대여'
ELSE '단기 대여'
END AS RENT_TYPE
FROM
CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE
START_DATE LIKE '2022-09%'
ORDER BY
HISTORY_ID DESC
DATE_FORMAT 함수
DATE_FORMAT 함수는 날짜(DATE 타입) 또는 날짜와 시간을 포함한 값(DATETIME 타입)을 지정된 형식으로 문자열로 변환하는 함수입니다. 형식을 지정할 때는 포맷 문자열을 사용하여 출력할 날짜의 형식을 결정합니다.
구문: DATE_FORMAT(date, format)
- date: 형식을 지정할 날짜 또는 시간 값.
- format: 출력 형식을 지정하는 문자열. 예시로 %Y-%m-%d는 YYYY-MM-DD 형식으로 출력합니다.
예시:
DATE_FORMAT('2022-09-15', '%Y-%m')는 '2022-09'를 반환합니다.
DATEDIFF 함수
DATEDIFF 함수는 두 날짜 간의 일(day) 단위 차이를 정수로 반환합니다. DATEDIFF(end_date, start_date)는 end_date에서 start_date를 뺀 결과, 즉 두 날짜 간의 일수 차이를 반환합니다.
구문: DATEDIFF(end_date, start_date)
- end_date: 끝나는 날짜.
- start_date: 시작하는 날짜.
두 날짜가 동일한 경우에는 0을 반환하고, end_date가 더 늦은 경우 양수를, start_date가 더 늦은 경우 음수를 반환합니다.
예시:
**DATEDIFF('2022-09-30', '2022-09-01')**는 29를 반환합니다.
'문제 풀이 > 프로그래머스 SQL' 카테고리의 다른 글
SQL - 오답노트 (1) | 2024.11.12 |
---|---|
그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2024.11.11 |
자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.10.29 |
즐겨찾기가 가장 많은 식당 정보 출력하기, 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2024.10.14 |
조건에 맞는 사용자와 총 거래금액 조회하기 + HAVING 절 (1) | 2024.10.10 |