Contents
내가 작성한 쿼리
내가 작성한 쿼리
Oracle
SELECT
HISTORY_ID,
CAR_ID,
TO_CHAR(START_DATE, 'YYYY-MM-DD') AS START_DATE, -- 날짜 형식 변경
TO_CHAR(END_DATE, 'YYYY-MM-DD') AS END_DATE,
CASE
WHEN (END_DATE - START_DATE) + 1 >= 30 THEN '장기 대여'
ELSE '단기 대여'
END AS RENT_TYPE
FROM
CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE
TO_CHAR(START_DATE, 'YYYY-MM') = '2022-09'
ORDER BY
HISTORY_ID DESC;
MySQL
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;
차이점
- 날짜 형식 변경 방식의 차이
- 날짜간의 차이 일수 계산하는 방식의 차이
- 특정 일자 가져오는 방식의 차이
주의점
- 띄어쓰기에 주의 → 장기대여, 단기대여 이런식으로 붙여 적으면 정답 처리 X
Share article