MYSQL 날짜 형식 (유형, format )
포스트
취소

MYSQL 날짜 형식 (유형, format )

  • DATETIME 타입 : YYYYMMDDhhmmss 형식

  • DATE 타입 : YYYYMMDD 형식. DATE_FORMAT 으로 %Y-%m-%d %h:%m:%s 형식을 지정하면 시분초값은 0으로 채워진다.

Mysql 공식 문서 12.7 Date and Time Functions

Mysql 튜토리얼

DATE_FORMAT 표

FORMAT설명
%M긴 월(영문) (Janeary, February ...)
%m숫자 월(두자리)(01, 02, 03 ...)
%W긴 요일 이름(영문) (Sunday, Monday ...)
%DMonth 월(1st, 2dn, 3rd ...)
%Y4자리 년도(1999, 2000, 2020)
%y2자리 년도(99, 00, 20)
%XYear 연도(1999, 2000, 2020) %V와 같이쓰임
%xYear 연도(1999, 2000, 2020) %v와 같이쓰임
%a짧은 요일 이름(영문) (Sun, Mon, Tue ...)
%d일자(두자리)(00, 01, 02 ...)
%e일자(한자리는 한자리)(0, 1, 2 ..)
%c숫자월 (한자리는 한자리)(1, 2, 3 ..)
%b짧은 월(영문)(Jen Feb ...)
%jn번째 일(100, 365)
%HHour 시(00, 01, 24) 24시간 형태
%hHour 시(01, 02, 12) 12시간 형태
%I(대문자 아이)Hour 시(01, 02 12) 12시간 형태
%l(소문자 엘)Hour 시(1, 2, 12) 12 시간 형태
%iMinute 분(00, 01 59)
%rhh:mm:ss AP
%Thh:mm:ss
%S, %sSecond 초
%pAP, PM
%wDay Of Week (0, 1, 2) 0부터 일요일
%UWeek 주(시작: 일요일)
%uWeek 주(시작 월요일)
%VWeek 주(시작: 일요일)
%vWeek 주(시작:월요일)

예시

  • 형태: YYYY-MM-DD
1
2
3
4
5
6
7
8
9
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS DATE FROM DUAL


+-------------+
|  DATE       |
+-------------+
|  2023-08-11 |
+-------------+
  • 형태: HH:MI:SS , HHMISS(HH:MI:SS로부터 콜론(:)을 제거)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-- 콜론 붙은채로
select date_format(NOW(), '%H:%i:%s') as CREATE_TM;

+-------------+
|  CREATE_TM  |
+-------------+
|  12:05:06   |
+-------------+

-- 콜론 제거
SELECT REPLACE(DATE_FORMAT(NOW(), '%H:%i:%s'), ':', '') AS CREATE_TM;

+-------------+
|  CREATE_TM  |
+-------------+
|  120506     |
+-------------+

  • 형태: 2016 September 22
1
2
3
4
5
6
7
8
SELECT DATE_FORMAT(NOW(),'%Y %M %d') AS DATE FROM DUAL

+-------------+
|  DATE       |
+-------------+
|   2016 September 22    |
+-------------+
  • 형태 : 2016.09.22. 05:00:05 PM
1
2
3
4
5
6
7
8
SELECT DATE_FORMAT(NOW(),'%Y.%m.%d. %r') AS DATE FROM DUAL

+-------------+
|  DATE       |
+-------------+
|   2016.09.22. 05:00:05 PM   |
+-------------+
  • 형태 : 2016년09월22일 17시00분05초
1
2
3
4
5
6
7
8
SELECT DATE_FORMAT(NOW(),'%Y년%m월%d일 %H시%i분%S초') AS DATE FROM DUAL

+-------------+
|  DATE       |
+-------------+
|   20160922 170005   |
+-------------+
  • 데이터: YYYY-MM-DD hh:mm:ss
  • 형태: YYYY-MM-DD PM / AM hh:mm
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
    (CASE
         WHEN INSTR(DATE_FORMAT(CREATE_DATE, '%Y-%m-%d %p %h:%i'), 'PM') > 0
         THEN REPLACE(DATE_FORMAT(CREATE_DATE, '%Y-%m-%d %p %h:%i'), 'PM', '오후')
         ELSE REPLACE(DATE_FORMAT(CREATE_DATE, '%Y-%m-%d %p %h:%i'), 'AM', '오전')
         END) AS CREATE_DATE
FROM test

+----------------------+
|      CREATE_DATE     |
+----------------------+
| 2020-03-16 오후 06:20 |
+----------------------+
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.