날짜 데이터 타입

데이터 타입 형식 설명
DATE YYYY-MM-DD 시간 정보가 없는 날짜
TIME HH:MM:SS 날짜 정보가 없는 시간
DATETIME YYYY-MM-DD HH:MM:SS 날짜 및 시간 정보를 모두 나타냄
TIMESTAMP 범위가 '1970-01-01 00:00:01' UTC에서 '2038-01-19 03:14:07' UTC까지

날짜 포맷 함수

함수 내용
DATE_FORMAT(날짜, ‘%변환기호’) 해당포맷으로 변경
DATE(날짜) 날짜를 ‘연도-월-일’로 변경
YEAR(날짜) 날짜를 연도로 반환
MONTH(날짜) 날짜를 월로 반환

between ~ and ~ : 특정 날짜 사이에 있는지

WHERE (date(열이름) between '2021-10-03' and '2021-11-23')

날짜 비교

SELECT * FROM employee WHERE logindate >= '2000-07-05' AND logindate < '2011-11-10';

DATEDIFF, TIMESTAMPDIFF 날짜 차이 구하기

내용
DATEDIFF(날짜1, 날짜2) 날짜1-날짜2 차이를 일수로 반환
TIMESTAMPDIff(단위, 날짜1, 날짜2) 날짜2-날짜1 차이를 선택한 단위로 반환

DATE_ADD() 날짜 더하기

DATE_ADD(기준날짜, INTERVAL)
SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND) # 지금 시각에서 1초를 더한다.
SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE) # 지금 시각에서 1분을 더한다.
SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR) # 지금 시각에서 1시간을 더한다.
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY)
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH)
SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR)
SELECT DATE_ADD(NOW(), INTERVAL -1 YEAR)

DATE_SUB() 날짜 빼기

DATE_SUB(기준날짜, INTERVAL)
SELECT DATE_SUB(NOW(), INTERVAL 1 SECOND)