오늘은 MySQL에서 DATETIME의 여러가지 포맷을 알아보려고한다.
찾아보면 금방찾지만 할때마다 찾는게 귀찮아서 이렇게 정리하려고한다.
MySQL에서 DATETIME 타입은 YYYY-MM-DD hh:mm:ss 와 같은 형식으로 반환한다.
실제로 이걸 이대로 쓴적은 한번도 없는거 같다. 그래서 필요에 따라서 YYYY-MM-DD까지만 짤라서 쓰거나
시분초가 필요없을때는 처음부터 타입을 DATE형으로 지정할때도 있다.
여기서 잠깐 미세먼지팁을 말하자면
DATETIME타입은 YYYY-MM-DD hh:mm:ss 의 형식을 가진다.
반면 DATE타입은 YYYY-MM-DD 의 형식을 가지며 DATE_FORMAT으로 %Y-%m-%d %h:%m:%s 형식을 지정하면
시분초값은 0으로 채워지게된다.
아래의 표에서 DATE_FORMAT의 FORMAT을 확인해보도록 하자
FORMAT | 설명 |
%M | Month 월(Janeary, February ...) |
%m | Month 월(01, 02, 03 ...) |
%W | Day of Week 요일(Sunday, Monday ...) |
%D | Month 월(1st, 2dn, 3rd ...) |
%Y | Year 연도(1999, 2000, 2020) |
%y | Year 연도(99, 00, 20) |
%X | Year 연도(1999, 2000, 2020) %V와 같이쓰임 |
%x | Year 연도(1999, 2000, 2020) %v와 같이쓰임 |
%a | Day of Week요일(Sun, Mon, Tue ...) |
%d | Day 일(00, 01, 02 ...) |
%e | Day 일(0, 1, 2 ..) |
%c | Month(1, 2, 3 ..) |
%b | Month(Jen Feb ...) |
%j | n번째 일(100, 365) |
%H | Hour 시(00, 01, 24) 24시간 형태 |
%h | Hour 시(01, 02, 12) 12시간 형태 |
%I(대문자 아이) | Hour 시(01, 02 12) 12시간 형태 |
%l(소문자 엘) | Hour 시(1, 2, 12) 12 시간 형태 |
%i | Minute 분(00, 01 59) |
%r | hh:mm:ss AP | PM |
%T | hh:mm:ss |
%S, %s | Second 초 |
%p | AP, PM |
%w | Day Of Week (0, 1, 2) 0부터 일요일 |
%U | Week 주(시작: 일요일) |
%u | Week 주(시작 월요일) |
%V | Week 주(시작: 일요일) |
%v | Week 주(시작:월요일) |
뭔가 엄청 많은거 같지만 우리가 사용할 포맷은 많지않다
주로 가장많이 사용되는 YY-MM-DD의 형태를 보도록 하자
데이터: YYYY-MM-DD
출력물: YY-MM-DD
SELECT
DATE_FORMAT(CREATE_DATE, '%y-%m-%d') AS CREATE_DATE
FROM YMD_TB
출력 결과: 20-03-16
다음으로는 YYYY-MM-DD 오후 06:20 형태를 출력해보도록하자
데이터: 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 YMD_TB
출력결과: 2020-03-16 오후 06:20
'SQL > MySQL' 카테고리의 다른 글
[MySQL] 사용자 추가, 권한 부여하기, 원격접속 허용 설정하기 (0) | 2020.06.24 |
---|---|
[MySQL] Linux (Ubuntu)에 Mariadb 설치 및 이관 작업하기 (2) (0) | 2020.06.08 |
[MySQL] Linux (Ubuntu)에 Mariadb 설치 및 이관 작업하기 (1) (0) | 2020.06.05 |
[MySQL] Data가 있으면 Update 없으면 Insert (0) | 2020.03.12 |