반응형

mysql에서 시간 날짜등을 표현할때 원하는 형태로 표기하기 위해 date_format 함수를 많이 사용하는데,

매번 포맷형식이 자바와 다르고 대소문자에 따라 다른 결과가 나오고 헷갈려 포스팅을 진행합니다.

바로 사용법에 대해 알아보겠습니다.

 


 

- 함수 사용법

DATE_FORMAT(시간값, 원하는 포맷);

첫번째 파라미터에는 원하는 컬럼, 데이터를 넣고 두번째 파라미터값에는 원하는 출력 형태의 포맷 문자열을 넣습니다.

사용하는 포맷의 대,소문자를 유의하면서 사용해야 합니다. 표기되는 결과가 달라질 수 있습니다.

바로 사용예시를 보겠습니다.

 


now()

select now()

now() 결과

 

바로 now() 함수를 사용하면 현재 시스템의 시간을 출력해줍니다.

 

그럼 이걸 원하는 형태로 바꿔서 날짜만 표기해보겠습니다.

 

 

 

 

날짜만 표기하기

select date_format(now(), '%Y-%m-%d')

YYYY-mm-dd

 

%Y 년도 - Year(4자리 표기)
%y 년도 (뒤에 2자리 표기)
%M 월 - 월 이름(January ~ December)
%m 월 - 월 숫자(00 ~ 12)
%d 일(00 ~ 31)

 

 

 

날짜 + 시간 표기하기

select date_format(now(), '%Y.%m.%d %H:%i:%s')

YYYY.mm.dd HH:mm:ss

기본형태와 차이를 주기 위해 날짜 구분자를 .으로 바꿔봤습니다.

대소문자를 항상 주의하여 사용해야 합니다. 잘못된 표기법으로 나올 수 있습니다.

 

%H 시간 24시간(00 ~ 23)
%h 시간 12시간(00 ~ 12)
%i 분 (00 ~ 59)
%s 초 (00 ~ 59)

 

 

 

 

문자열 날짜 변경

select date_format('2020/02/06 15:16:50', '%Y.%m.%d %H:%i:%s')

'2020/02/06 15:16:50'으로 입력된 문자열이 '2020.02.06 03:16:50'으로 정상적으로 변경되어 파싱된 걸 볼 수 있습니다.

 


 

 

좀 더 자세하게 변경 양식을 보고 싶다면 아래 링크를 참고해주세요.

https://www.w3schools.com/sql/func_mysql_date_format.asp

 

MySQL DATE_FORMAT() Function

MySQL DATE_FORMAT() Function ❮ MySQL Functions Definition and Usage The DATE_FORMAT() function formats a date as specified. Syntax DATE_FORMAT(date, format) Parameter Values Parameter Description date Required. The date to be formatted format Required. The

www.w3schools.com

 

반응형