EEALL@ONCE

๐Ÿ“ŠDATE_ADD ๋ณธ๋ฌธ

Data๐Ÿ“Š/DB ์ดํ•ด

๐Ÿ“ŠDATE_ADD

์˜ฌ์—ฃ์›์Šค 2023. 8. 16. 11:53
728x90

 `DATE_ADD` ํ•จ์ˆ˜๋Š” MySQL์—์„œ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ ์ด ์ฝ”๋“œ์˜ ์˜ˆ์ œ์™€ ์„ค๋ช…์ž…๋‹ˆ๋‹ค:

SELECT DATE_ADD('2021-08-16', INTERVAL 1 MONTH) AS NewDate;



๊ฒฐ๊ณผ:

NewDate
2021-09-16



- `DATE_ADD` ํ•จ์ˆ˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ํŠน์ • ๋‚ ์งœ๋ฅผ ๋ฐ›๊ณ , ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ INTERVAL ํ‚ค์›Œ๋“œ์™€ ํ•จ๊ป˜ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
- ์œ„์˜ ๊ฒฝ์šฐ, '2021-08-16'์— 1๊ฐœ์›”์„ ์ถ”๊ฐ€ํ•˜์—ฌ '2021-09-16'์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์ธ ์งˆ๋ฌธ : ํ•ด๋‹น interval 1 month๋Š” 30์ผ ๋’ค 31์ผ ๋’ค๋ฅผ ์ž๋™์œผ๋กœ ๋“ฑ๋กํ•ด์ฃผ๋Š”๊ฑฐ์•ผ?


MySQL์˜ `DATE_ADD` ํ•จ์ˆ˜์—์„œ `INTERVAL 1 MONTH`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๋‹ฌ์˜ ์ผ ์ˆ˜์™€ ๊ด€๊ณ„์—†์ด ์ •ํ™•ํ•˜๊ฒŒ ํ•œ ๋‹ฌ ๋’ค์˜ ๋‚ ์งœ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, 30์ผ ๋’ค๋‚˜ 31์ผ ๋’ค๊ฐ€ ์•„๋‹ˆ๋ผ, ๋‹ฌ๋ ฅ์ƒ์œผ๋กœ ์ •ํ™•ํ•œ ํ•œ ๋‹ฌ ๋’ค์˜ ๋‚ ์งœ๋ฅผ ๊ณ„์‚ฐํ•ด์ค๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด:

- `2023-01-01`์— `INTERVAL 1 MONTH`์„ ๋”ํ•˜๋ฉด `2023-02-01`์ด ๋ฉ๋‹ˆ๋‹ค.
- `2023-02-01`์— `INTERVAL 1 MONTH`์„ ๋”ํ•˜๋ฉด `2023-03-01`์ด ๋ฉ๋‹ˆ๋‹ค.



728x90

'Data๐Ÿ“Š > DB ์ดํ•ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๐Ÿ“Š SUM ๊ฐ’ ์‚ฌ์ด์— null ์ด ํฌํ•จ๋  ๋•Œ  (0) 2023.09.22
๐Ÿ“ŠLAST_DAY  (0) 2023.08.18
๐Ÿ“ŠSUBSTRING  (0) 2023.08.07
๐Ÿ“Š CONCAT  (0) 2023.08.07
๐Ÿ“Š case  (0) 2023.07.28