[MySQL] DATETIME 원하는 유형으로 변경 (YYMMDD)

6174 단어 sqlsql

MySQL에서 DATETIME 타입은 YYYY-MM-DD hh:mm:ss 와 같은 형식으로 반환한다.

Mysql 공식 문서 12.7 Date and Time Functions

  • 실제로 이걸 이대로 쓴적은 한번도 없는거 같다. 그래서 필요에 따라서 YYYY-MM-DD까지만 짤라서 쓰거나 시분초가 필요없을때는 처음부터 타입을 DATE형으로 지정할때도 있다.
  • DATETIME타입은 YYYY-MM-DD hh:mm:ss 의 형식을 가진다.

  • 반면 DATE타입은 YYYY-MM-DD 의 형식을 가지며 DATE_FORMAT으로 %Y-%m-%d %h:%m:%s 형식을 지정하면 시분초값은 0으로 채워지게된다.

FORMAT설명
%MMonth 월(Janeary, February ...)
%mMonth 월(01, 02, 03 ...)
%WDay of Week 요일(Sunday, Monday ...)
%DMonth 월(1st, 2dn, 3rd ...)
%YYear 연도(1999, 2000, 2020)
%yYear 연도(99, 00, 20)
%XYear 연도(1999, 2000, 2020) %V와 같이쓰임
%xYear 연도(1999, 2000, 2020) %v와 같이쓰임
%aDay of Week요일(Sun, Mon, Tue ...)
%dDay 일(00, 01, 02 ...)
%eDay 일(0, 1, 2 ..)
%cMonth(1, 2, 3 ..)
%bMonth(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
  • 출력물: YY-MM-DD
> SELECT
        DATE_FORMAT(CREATE_DATE, '%y-%m-%d') AS CREATE_DATE
  FROM test

+-------------+
| CREATE_DATE |
+-------------+
| 20-03-16    |
+-------------+
  • 데이터: YYYY-MM-DD hh:mm:ss
  • 출력물: YYYY-MM-DD PM | AM hh:mm
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 |
+----------------------+

좋은 웹페이지 즐겨찾기