1. 날짜 데이터에서 일부 데이터 추출하기
1.1. 날짜 함수 사용
◽ YEAR(date) : 년
SELECT YEAR('2024-04-30 12:55:45');
➡️ 2024
◽ MONTH(date) : 월
SELECT MONTH('2024-04-30 12:55:45');
➡️ 4
◽ DAY(date) : 일
SELECT DAY('2024-04-30 12:55:45');
➡️ 30
◽ QUARTER(date) : 분기
SELECT QUARTER('2024-04-30 12:55:45');
➡️ 2
◽ HOUR(date) : 시
SELECT HOUR('2024-04-30 12:55:45');
➡️ 12
◽ MINUTE(date) : 분
SELECT MINUTE('2024-04-30 12:55:45');
➡️ 55
◽ SECOND(date) : 초
SELECT SECOND('2024-04-30 12:55:45');
➡️ 45
1.2. 날짜 범위 사용
추출할 데이터가
특정 범위
속에 있는 데이터라면, 범위를 설정하여 추출할 수 있다.◽ BETWEEN start_date AND end_date
WHERE APNT_YMD BETWEEN '2022-05-01' AND '2022-05-31'
➡️ 2022-05 데이터
1.3. 날짜 포맷 사용
추출할 데이터가
특정 범위
속에 있는 데이터라면, 날짜를 포맷하여 추출할 수 있다.◽ DATE_FORMAT(date, 포맷 형식)
WHERE DATE_FORMAT(APNT_YMD, '%Y-%m') = '2022-05'
➡️ 2022-05 데이터
- 데이터 구분 기호
구분 기호 | 역할 | 구분 기호 | 역할 |
%Y | 년도 (2021) | %W | 요일(Wednesday, friday) |
%y | 년도 (21) | %a | 요일(Wed, Fri) |
%M | 월 (January, August) | %r | 시간 (12:30:00 AM) |
%b | 월(Jan, Aug) | %T | 시간 (12:30:00) |
%m | 월 (01, 02, 11) | %i | 분 (00) |
%c | 월 (1, 8) | %S | 초 (00) |
%d | 일(01, 19) | %H | 24시간 시간(01, 14, 18) |
%e | 일(1, 19) | %l | 12시간 시간 (01, 02, 06) |
2. 날짜 일수 차이 구하기
2.1 끝 날짜 - 시작 날짜 : 일(DAY)
DAY 차이를 구하는 함수로,
양수 / 음수
가 나올 수 있다.◽ DATEDIFF(end_date , start_date)
DATEDIFF('2022-05-07', '2022-05-07')
➡️ 0
DATEDIFF('2022-05-09', '2022-05-07')
➡️ -2
기간
을 구하려면+1
을 해야 날짜 차이를 알 수 있다.
DATEDIFF('2022-05-07', '2022-05-07') + 1
➡️ 1
2.2 끝 날짜 - 시작 날짜 : ‘일’ 제외
◽ TIMESTAMPDIFF(단위, end_date, start_date)
TIMESTAMPDIFF(MONTH, '2022-05-07', '2022-06-07')
➡️ 1
- 기준 단위가 넘지 않는다면,
0
이 출력 된다.
TIMESTAMPDIFF(WEEK, '2022-08-26 15:30:33', '2022-09-01 17:32:21')
➡️ 0
// 1주일인 7일이 안지났기 때문에 0 으로 조회
- 단위 종류
기호 | 단위 | 기호 | 단위 |
SECOND | 초 | WEEK | 주 |
MINUTE | 분 | MONTH | 월 |
HOUR | 시간 | QUARTER | 분기 |
DAY | 일 | YEAR | 년 |
Share article