1. ๋ฌธ์ ์ค๋ช ๐
(1) ๋งํฌ๐
(2) ํด์ค๐ต
KEY WORD
: DATEDIFF()
, CASE WHEN THEN END ๋ฌธ
DATEDIFF(๋ ์๊ฐ, ์์ ์๊ฐ)
์ ๋ ์๊ฐ์์ ์์์๊ฐ์ ๋นผ์, ๋์ ๋ ์ง ์ฐจ์ด๋ฅผ INTEGER๋ก ๋ฐํํ๋ ํจ์์ด๋ค. ์ด๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ์ด์ผ ํ๋ค.
๋ํ CASE-WHEN-THEN...END ๋ฌธ์ ํ์ฉํด 30์ผ ์ด์์ ์ฅ๊ธฐ ๋์ฌ ์๋๋ฉด ๋จ๊ธฐ ๋์ฌ๋ก ๊ตฌ๋ถํด์ผ ํ๋ค.
์ด๋ ์ฃผ์ํด์ผ ํ ์ ์ด ๋น์ผ ๋์ฌ, ๋น์ผ ๋ฐ๋ฉํด๋ ํ๋ฃจ๋ก ์น๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๊ฒ์ ํ ๋๋ก ๊ณ์ฐํด๋ณด๋ฉด, ์ค์ง์ ์ผ๋ก ๋ ์ง๋ 29์ผ ์ง๋ ์์ ์ด +1 ๋ํด์ 30์ผ ๋์ ๋์ฌ๋ฅผ ํ ์์ ์ด ๋๋ค.
2. ๊ตฌํ ์ฝ๋๐
SELECT
HISTORY_ID,
CAR_ID,
DATE(START_DATE),
DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE,
(CASE
WHEN DATEDIFF(END_DATE, START_DATE) >= 29 THEN '์ฅ๊ธฐ ๋์ฌ'
ELSE '๋จ๊ธฐ ๋์ฌ'
END
) AS 'RENT_TYPE'
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE DATE_FORMAT(START_DATE, '%Y-%m') = '2022-09'
ORDER BY HISTORY_ID
DESC;
3. DRILING ๐ฏ
(1) DATE DIFF ๊ด๋ จ ์ ๋ฆฌ
(2) CASE - WHEN - THEN ... END ๋ฌธ์ ๋ํ ์ ๋ฆฌ
์ด๋ชจ์ง ๋ชจ์: ๐ค, โ โจ 0๏ธโฃ1๏ธโฃ2๏ธโฃ3๏ธโฃ4๏ธโฃ5๏ธโฃ6๏ธโฃ7๏ธโฃ8๏ธโฃ9๏ธโฃ๐