날짜 데이터 타입
데이터 타입 |
형식 |
설명 |
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 차이를 선택한 단위로 반환 |
- Timestampdiff단위
- second : 초
- minute : 분
- hour 시
- day : 일
- week 주
- month 월
- quater 분기
- year 년
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)