MySql 에서 날짜를 표현하고 변환하는 date_format() 에 대해서 알아봅시다.

MySql 에서 날짜를 표현하고 변환하는 date_format() 에 대해서 알아봅시다.
워낙 기초적인것이고 초보자를 위해 상세하게 설명하는 글이 아니라 옵션 설명을 자꾸 까먹어서 기록용으로 남기는 거니 간단하게 설명하고 넘어 갑니다.

블로그 전체가 오른쪽 마우스 사용 제한이 걸려있으니 소스를 복사할 분은 검은 배경의 소스창 오른쪽 상단의 “source view” 를 눌러서 복사하면 됩니다.

date_format(date, format) 은 date를 새로운 날짜 format으로 반환하는 함수 입니다.

한국에서 가장 많이 사용하는 날짜 형식(년-월-일 시:분:초)은 다음과 같이 하면 된다.

mysql> SELECT date_format(now(),'%Y-%m-%d %I:%i:%s')

format 사용하는 인자를 아래를 적어 놓으니 참고 바랍니다

%M : 달의 이름 (January... December)
%W : 주의 이름(Sunday,..... Saturday)
%D : 1st, 2nd 등을 이용한 달을 표현함
%Y : 4개의 숫자를 이용한 연도 (예, 1999,2000,2001)
%y : 2개의 숫자를 이용한 연도 (예, 99,00,01)
%X : %V와 함께 쓰여 연도를 나타냄
%x : %v와 함께 쓰여 연도를 나타냄
%a : Sun, Sat과 같은 요일을 나타냄
%d : 00, 01......31등의 날짜를 표현함
%e : 0,1,2,.....31등의 날짜를 푠현함
%m : 01,02...12 등의 달을 표현함
%c : 1,2,....12등의 달을 표현함
%b : Jan, Dec 같은 방법으로 달을 표현함
%j : 001,002,003... 366 과 같이 날짜를 표현함(올해의 몇번째 날인가)
%H : 00,01,02...23 과 같이 시를 표현
%h : 01,02...12와 같이 시를 표현
%I(대문자 아이) : 01,02...12와 같이 시를 표현
%l(소문자 엘) : 1,2...12와 같이 시를 표현
%i : 00,01.....59 와 같이 분을 표현함
%r : 시간을 12시로 "hh:mm:ss AM|PM" 형식으로 표현
%T : 시간을 24시로 "hh:mm:ss"형식으로 표현
%S : 00,01,....59 형식으로 초를 표현
%s : 00,01,...59 형식으로 초를 표현
%p : AM 혹은 PM
%w : 0,1,......6 형식으로 요일을 표현 (0은 일요일, 1은 월요일 6은 토요일)
%U : 주를 0,1,...53 식으로 표현(일요일이 주의 시작인 경우)
%u : 주를 0,1,...53 식으로 표현(월요일이 주의 시작인 경우)
%V : 주를 0,1,...53 식으로 표현(일요일이 주의 시작인 경우), %X와 함께 쓰임
%v : 주를 0,1,...53 식으로 표현(월요일이 주의 시작인 경우), %x와 함께 쓰임
%% : %자체를 표현

Ex) 실제 쿼리에서 사용하는 방법이다.
//now()는 현재날짜와 시간을 반환하는 함수

mysql > SELECT date_format(now(), '%W %M %Y');

//결과는 다음과 같다
+-------------------------------+
| date_format(now(),'%W %M %Y') |
+-------------------------------+
| Sunday December 2001 |
+-------------------------------+
1 row in set (0.00 sec)

// 날짜 붙여서 가져오기

mysql > SELECT date_format(now(),'%Y%m%d%I%i%s')

테이블에 있는 컬럼명 reg_date 의 날짜를 가져와서 변환 할 수 도 있습니다.

SELECT FROM_UNIXTIME( reg_date, '%Y-%m-%d' ) FROM `테이블명`

#MYSQL #날짜 #날짜변환 #날짜형식 #date_format