[Mysql] ํ˜„์žฌ ๋‚ ์งœ ๋ถ€ํ„ฐ 1์ผ, 1๋‹ฌ, 1๋…„ ์ „/ํ›„ ์ฟผ๋ฆฌ

2022. 12. 6. 00:32ใ†๐Ÿ“” TIL

MySql ์˜ ์‹œ๊ฐ„ ๋”ํ•˜๊ธฐ, ๋นผ๊ธฐ ํ•จ์ˆ˜

- date_add / date_sub ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๊ธฐ์ค€ ๋‚ ์งœ๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋œ ๊ธฐ๊ฐ„๋งŒํผ์„ ๋”ํ•˜๊ฑฐ๋‚˜ ๋บ„ ์ˆ˜ ์žˆ๋‹ค.

-- ๋‚ ์งœ ๋”ํ•˜๊ธฐ
DATE_ADD(๊ธฐ์ค€ ๋‚ ์งœ, Interval)

-- ๋‚ ์งœ ๋นผ๊ธฐ
DATE_SUB(๊ธฐ์ค€ ๋‚ ์งœ, Interval)

 

๋ฆฌ๋ทฐ ํ…Œ์ด๋ธ” ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด๋ณด์ž. 

์•„๋ž˜๋Š” 1๋…„ ์ „ ๋ณด๋‹ค ๊ณผ๊ฑฐ์— ์ž‘์„ฑ๋œ ๋ฆฌ๋ทฐ๋ฅผ ์กฐํšŒ ํ•˜๋Š” ์ฟผ๋ฆฌ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ค๋Š˜์ด 2022.12.05 ์ผ ๋•Œ 2021.12.05 ๋ณด๋‹ค ๊ณผ๊ฑฐ์— ์ž‘์„ฑ๋œ ๋ฆฌ๋ทฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. 

Date_sub ๋Œ€์‹  Date_add ๊ฐ€ ์‚ฌ์šฉ๋์ง€๋งŒ, interval -1 year ๋ฅผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

select *
from review
where created_at <= date_add(now(), interval -1 year);

๋งŒ์•ฝ (์˜ค๋Š˜) 2022.12.05 ๋ถ€ํ„ฐ (์ผ๋…„ ์ „์ธ) 2021.12.05 ์‚ฌ์ด์— ์ž‘์„ฑ๋œ ๋ฆฌ๋ทฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์•„๋ž˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

select *
from review
where created_at > date_add(now(), interval -1 year);

 

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 1๋‹ฌ ์ „ / ํ›„, 1์ผ ์ „ / ํ›„, ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋ ค๋ฉด, year ๋Œ€์‹  month, day ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.