
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 | 설명 |
|---|---|
| %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 |
| %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 주(시작:월요일) |
> SELECT
DATE_FORMAT(CREATE_DATE, '%y-%m-%d') AS CREATE_DATE
FROM test
+-------------+
| CREATE_DATE |
+-------------+
| 20-03-16 |
+-------------+
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 |
+----------------------+
감사합니다 잘 보고갑니다.
DATE_FORMAT()