MYSQL

날짜 데이터에서 일부만 추출하기(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, DATE_FORMAT, DATE)

soo15 2023. 5. 28. 17:23

 

1. 연도 추출하기

YEAR('날짜') : 연도만 숫자로 출력

DATE_FORMAT('날짜', '%Y') : 연도 4자리 출력

DATE_FORMAT('날짜', '%y') : 연도 끝 2자리 출력

SELECT YEAR('2023-05-28 11:20:15');   				# 2023

SELECT DATE_FORMAT('2023-05-28 11:20:15', '%Y');		# 2023    
SELECT DATE_FORMAT('2023-05-28 11:20:15', '%y');		# 23

 

 

2. 월 추출하기

MONTH('날짜') : 월만 숫자로 출력

DATE_FORMAT('날짜', '%m') : 월을 숫자로 출력 (00 ~ 12)

DATE_FORMAT('날짜', '%M') : 월을 문자로 출력 (January ~ December)

SELECT MONTH('2023-05-28 11:20:15');  				# 05

SELECT DATE_FORMAT('2023-05-28 11:20:15', '%m');		# 05   
SELECT DATE_FORMAT('2023-05-28 11:20:15', '%M');		# May

 

 

3. 일 추출하기

DAY('날짜') : 일만 숫자로 출력

DATE_FORMAT('날짜', '%d') : 일을 숫자로 출력 (01 ~ 31)

DATE_FORMAT('날짜', '%D') : 일을 서수로 출력 (1st, 2nd, 3rd, ...)

SELECT DAY('2023-05-28 11:20:15');   				# 28 

SELECT DATE_FORMAT('2023-05-28 11:20:15', '%d');		# 28    
SELECT DATE_FORMAT('2023-05-28 11:20:15', '%D');		# 28th

 

 

4. 시 추출하기

HOUR('날짜') : 시만 숫자로 출력

DATE_FORMAT('날짜', '%H') : 시를 숫자로 출력 (00 ~ 23)

DATE_FORMAT('날짜', '%h') : 시를 숫자로 출력 (00 ~ 12)

DATE_FORMAT('날짜', '%p') : PM / AM 출력

SELECT HOUR('2023-05-28 17:20:15');   				# 17

SELECT DATE_FORMAT('2023-05-28 17:20:15', '%H');		# 17     
SELECT DATE_FORMAT('2023-05-28 17:20:15', '%p%h');	# PM05

 

 

5. 분 추출하기

MINUTE('날짜') : 분만 숫자로 출력

DATE_FORMAT('날짜', '%i') : 분을 숫자로 출력 (00 ~ 59)

SELECT MINUTE('2023-05-28 11:20:15');   				# 20

SELECT DATE_FORMAT('2023-05-28 11:20:15', '%i');		# 20

 

 

6. 초 추출하기

SECOND('날짜') : 초만 숫자로 출력

DATE_FORMAT('날짜', '%S') : 초를 숫자로 출력 (00 ~ 59)

DATE_FORMAT('날짜', '%s') : 초를 숫자로 출력 (00 ~ 59)

SELECT SECOND('2023-05-28 17:20:15');   			# 15

SELECT DATE_FORMAT('2023-05-28 17:20:15', '%S');		# 15   
SELECT DATE_FORMAT('2023-05-28 17:20:15', '%s');		# 15

 

 

7. 년, 월, 일 출력하기

DATE('날짜') : 년-월-일 숫자로 출력

DATE_FORMAT('날짜', '%Y-%m-%d') : 년-월-일 숫자로 출력

SELECT DATE('2023-05-28 17:20:15');						# 2023-05-28

SELECT DATE_FORMAT('2023-05-28 17:20:15', '%Y-%m-%d');		# 2023-05-28
SELECT DATE_FORMAT('2023-05-28 17:20:15', '%y/%m/%d');		# 23/05/28
SELECT DATE_FORMAT('2023-05-28 17:20:15', '%Y/%M/%d');		# 23/May/28