MySQL 날짜 함수

always updating.....♥️
muaga's avatar
Apr 29, 2024
MySQL 날짜 함수

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

muaga's Hub