프로그래밍 언어/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 |
+----------------------+

 

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