14. MySQL 날짜와 시간 처리하기
현재 날짜, 시간 가져오기 now(), curdate(), curtime()
-- 현재 날짜와 시간을 조회하는 방법 : now()(RDS 시간을 조회)
-- UTC(세계표준시간)
-- Localtime(현재지역시간)
SELECT now();

-- 현재 날짜만 조회 : CURDATE()
SELECT CURDATE();

-- 현재 시간만 조회 : CURTIME()
SELECT CURTIME();

년도, 월, 일, 시, 분, 초 가져오기 year() , month() , day() , hour() , minute() , second()
-- 년도만 조회 : year()
-- 월만 가져오는것 month()
-- 일만 가져오는것 day()
-- 시간만 가져오는것 HOUR()
-- 분만 가져오는것 MINUTE()
-- 초만 가져오는것 SECOND()
SELECT *,YEAR (order_date),
MONTH (order_date),
DAY (order_date),
HOUR (order_date),
MINUTE (order_date),
SECOND (order_date)
FROM orders o ;

날짜, 시간 차이를 구하기 datediff()
-- 두 날짜간의 차이 계산 : DATEDIFF()
-- 주문일과 배송일의 일수 계산
SELECT *,DATEDIFF(delivery_date,order_date) AS diff
FROM orders o ;

시간 차이 계산 timediff()
-- 시간 차이 계산 : timediff()
SELECT *,TIMEDIFF('2023-10-05 15:00:00',order_date) as diff
FROM orders o ;

날짜에 n값을 더하거나 빼기
-- 날짜를 더하는 함수 DATE_ADD()
-- 더하는 날짜, 빼는 날짜는 구하는 날짜만 입력이 아니라 (INTERVAL '날짜' DAY) 사용
-- 주문일로부터 3일 후에 날짜를 구하시오.
SELECT DATE_ADD(order_date, INTERVAL 3 day )
FROM orders o ;

-- 날짜를 빼는 함수 DATE_SUB()
SELECT DATE_SUB(order_date,INTERVAL 2 day)
from orders o ;