프로그래밍 언어/SQL
[SQL] DATETIME 원하는 유형으로 변경 (YYMMDD)
ShovelingLife
2023. 12. 29. 16:43
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으로 채워지게된다.
- 데이터: 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 |
+----------------------+