- 연/ 월/ 일 데이터 추출
연도(YEAR), 월(MONTH), 일(DAY) 함수를 이용하여 데이터를 가공할 수 있다.
-- 연도(YEAR) 함수
SELECT * FROM kakao
WHERE YEAR(date) = 2021;
-- 월(MONTH)함수
SELECT * FROM kakao
WHERE MONTH(date) = 5;
-- 일(DAY) 함수
SELECT * FROM kakao
WHERE DAY(date) BETWEEN 25 AND 31;
- 오늘 날짜/ 시간 구하기
오늘 날짜를 알고 싶을 때는 CURDATE(), 지금 시간을 구하고 싶을 때는 CURTIME()을 사용하면 된다.
-- 오늘 날짜
SELECT CURDATE()
-- 지금 시각
SELECT CURTIME()
- 월 말일 구하기
LAST_DAY(날짜) 함수를 사용하면 해당 날짜의 월 말일이 출력된다. 2021년 7월 24일을 작성했을 때. 7월의 마지막 날은 31일 이므로 '2021-07-31'이 출력된다.
SELECT LAST_DAY('2021-07-24');
- 몇 달 전/ 후 구하기
PERIOD_ADD() 함수를 사용하여 구할 수 있다. 함수의 데이터 타임은 YYYYMM이나 YYMM 형태여야 한다.
-- 2달 뒤
SELECT PERIOD_ADD('202107', 2);
-- 2달 전
SELECT PERIOD_ADD('202107', -2);
양수를 쓰면 N달 후를 산출할 수 있고, 음수를 쓰면 N달 전의 데이터를 산출할 수 있다.
- 날짜 계산 함수
DATEDIFF(날짜 1, 날짜 2)는 날짜 1 - 날짜 2를 계산하는 함수이다. (kakao데이터의 기준일 - 현재 날짜)을 계산해준 결과 값이다.
SELECT date, DATEDIFF(date, CURDATE()) FROM kakao;
DATE_ADD()는 날짜 더하기, DATE_SUB()는 날짜 빼기를 해주는 함수이다. INTERVAL 기간 UNIT으로 더하거나 빼고 싶은 일수를 작성한다.
-- 30일 더하기
SELECT date, DATE_ADD(date, INTERVAL 30 DAY)
FROM kakao;
-- 7일 빼기
SELECT date, DATE_SUB(date, INTERVAL 7 DAY)
FROM kakao;
날짜 / 시간에 대해 더 많은 함수를 알고 싶다면, 아래 Manual에서 확인할 수 있다.
MySQL :: MySQL 8.0 Reference Manual :: 12.7 Date and Time Functions
MySQL :: MySQL 8.0 Reference Manual :: 12.7 Date and Time Functions
12.7 Date and Time Functions This section describes the functions that can be used to manipulate temporal values. See Section 11.2, “Date and Time Data Types”, for a description of the range of values each date and time type has and the valid formats
dev.mysql.com
'Database > MySQL' 카테고리의 다른 글
[Programming][MySQL] NULL 값 다루기(Feat. 카카오 주가 데이터) (0) | 2021.07.25 |
---|---|
[Programming][MySQL] 연산을 할 수 있는 다양한 함수(Feat. 카카오 주가 데이터) (0) | 2021.07.25 |
[Programming][MySQL] ORDER BY / GROUP BY / LIMIT(Feat. 카카오 주가 데이터) (0) | 2021.07.24 |
[Programming][MySQL] SQL 기본 문법(Feat. 카카오 주가 데이터) (0) | 2021.07.23 |
[Programming][MySQL] Workbench로 데이터 Import하기(Feat. 카카오 주가 데이터) (0) | 2021.07.22 |
댓글