- spring์ผ๋ก https ์ ์ฉ
- SQL
- mysql
- node js
- DATABASE
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- Spring
- ์์คํ ์ํํธ์จ์ด
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Data Structure
- RP 2๊ธฐ
- SSL
- aligoapi
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- Quick Sort
- java error
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Java
- spring ์์ ๋ก๊ทธ์ธ
- MethodArgumentNotValidException
- GIT
- datagrip
- MAKE US
- @CreatedDate
- OpenAPI
- Unity
- Rp2๊ธฐ
- C++
- merge sort
- docker
YS's develop story
MySQL ์๊ฐ์ฐจ์ด ๊ณ์ฐํ๊ธฐ (TIMESTAMPDIFF ํจ์) ๋ณธ๋ฌธ
๐ฅ MySQL ์๊ฐ ์ฐจ์ด ๊ณ์ฐํ๊ธฐ (TIMESTAMPDIFF ํจ์)
โ Problem
์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด ์๊ฐ ์ฐจ์ด๋ฅผ ํ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์์ฝ์๊ฐ 30๋ถ ์ ์๋ ์์ฝ์ ๋ถ๊ฐ๋ฅํ๋๋ก ๋ง์์ผ ํ๋ค๊ฑฐ๋
ํน์ ์ด๋ฒคํธ์ผ์ด ํ์ฌ๋ถํฐ ์ผ๋ง๋ ๋จ์๋์ง ๋ฑ๋ฑ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ ๊ฒ์
๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ์๋ ์ด๋ป๊ฒ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํ ๊น์? ๐
๐ Solution
TIMESTAMPDIFF๋ผ๋ ํจ์๋ฅผ ํ์ฉํ๋ฉด ๋งค์ฐ ์ฝ๊ฒ ์๊ฐ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค.
SELECT TIMESTAMPDIFF(HOUR,'2021-08-22 11:00','2021-08-22 14:00') AS dayCount;
SELECT TIMESTAMPDIFF(์๊ฐ ๋จ์, '๋ ์ง 1', '๋ ์ง 2') AS ์ด๋ฆ;
์์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด์ ๋ ์ง 1๋ถํฐ ๋ ์ง 2๊น์ง์
๋จ์ ์๊ฐ์ ์ถ๋ ฅํ๋๋ก ํ ์ ์์ต๋๋ค.
์๊ฐ ๋จ์ ์๋ฆฌ์๋ DAY, HOUR, MINUTE ๋ฑ์ด ๋ค์ด๊ฐ ์ ์์ต๋๋ค.
SELECT TIMESTAMPDIFF(HOUR,'2021-08-22 16:00','2021-08-22 14:00') AS dayCount;
์๊ฐ์ด ์ด๋ฏธ ์ด๊ณผ๋์๋ค๋ฉด ์ผ์ชฝ์ฒ๋ผ ์์ ๊ฐ์ด ๋์ค๊ฒ ๋ฉ๋๋ค.
SELECT TIMESTAMPDIFF(HOUR,NOW(),?) AS dayCount;
์์ ๊ฐ์ด ์ฟผ๋ฆฌ๋ฅผ ์ง์ ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ์๊ฐ์ด ํ์ฌ ์๊ฐ์ผ๋ก๋ถํฐ ์ผ๋ง๋ ๋จ์๋์ง๋
์ถ๋ ฅํ ์ ์์ต๋๋ค.
์ด๋ฅผ ์ด์ฉํ๋ฉด ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ถ๋ ฅ๋ ๊ฐ์ด ์์์ด๋ฉด
์ด๋ฏธ ์ง๋ ์๊ฐ์ด๋ฏ๋ก ๊ฐ์ ๋ฐ์ง ์๋๋ก ์ฒ๋ฆฌ๋ฅผ ํ์ฌ ์์ฝ ๊ด๋ จ API์ ์ด๋ฏธ ์ง๋ ์๊ฐ์ ์์ฝํ ์ ์๋๋ก API๋ฅผ ์ค๊ณํ ์ ์์ ๊ฒ์ ๋๋ค.
์ด์ฒ๋ผ TIMESTAMPDIFF ํจ์๋ฅผ ํ์ฉํ๋ค๋ฉด ์๊ฐ๊ณผ ๊ด๋ จ๋ API๋ฅผ ์ค๊ณํ ๋ ๋งค์ฐ ์ ์ฉํ ๊ฒ ๊ฐ๋ค์! ๐ค