반응형
mysql에서 시간 날짜등을 표현할때 원하는 형태로 표기하기 위해 date_format 함수를 많이 사용하는데,
매번 포맷형식이 자바와 다르고 대소문자에 따라 다른 결과가 나오고 헷갈려 포스팅을 진행합니다.
바로 사용법에 대해 알아보겠습니다.
- 함수 사용법
DATE_FORMAT(시간값, 원하는 포맷);
첫번째 파라미터에는 원하는 컬럼, 데이터를 넣고 두번째 파라미터값에는 원하는 출력 형태의 포맷 문자열을 넣습니다.
사용하는 포맷의 대,소문자를 유의하면서 사용해야 합니다. 표기되는 결과가 달라질 수 있습니다.
바로 사용예시를 보겠습니다.
now()
select now()
바로 now() 함수를 사용하면 현재 시스템의 시간을 출력해줍니다.
그럼 이걸 원하는 형태로 바꿔서 날짜만 표기해보겠습니다.
날짜만 표기하기
select date_format(now(), '%Y-%m-%d')
%Y | 년도 - Year(4자리 표기) |
%y | 년도 (뒤에 2자리 표기) |
%M | 월 - 월 이름(January ~ December) |
%m | 월 - 월 숫자(00 ~ 12) |
%d | 일(00 ~ 31) |
날짜 + 시간 표기하기
select date_format(now(), '%Y.%m.%d %H:%i:%s')
기본형태와 차이를 주기 위해 날짜 구분자를 .으로 바꿔봤습니다.
대소문자를 항상 주의하여 사용해야 합니다. 잘못된 표기법으로 나올 수 있습니다.
%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
반응형
'Databases > Mysql' 카테고리의 다른 글
Mysql - trigger를 활용하여 특정 문자열을 구분하여 INSERT하기(trigger 생성하기) (0) | 2020.02.14 |
---|---|
Mysql - Group by한 데이터들의 마지막(최신) 값만 가져오기 (4) | 2020.02.10 |
Mysql - join문을 활용한 update처리 (0) | 2020.01.22 |
Mysql - Insert하는 데이터의 PK값이 있으면 update 처리하기 ON DUPLICATE KEY UPDATE (0) | 2020.01.21 |
Mysql - 접근중인 세션, 접속자 확인하기 (0) | 2020.01.15 |