devnoong.log
Published 2023. 4. 7. 18:53
[DB] MYSQL DATE_FORMAT 사용법 DB/MySql
728x90

 

Mysql에서 제공하는 DATE_FORMAT 함수는 'DATE' , 'DATETIME' , 'TIMESTAMP' 등의 데이터 타입을 원하는 형식으로 출력하고자 할때 사용하는 함수입니다.

 

출력형식은 아래와 같이 다양하게 존재하여 날짜값을 다양한 형식으로 출력이 가능합니다.

 

  • %Y : 4자리 연도를 출력합니다.  ex) 2022
  • %y : 2자리 연도를 출력합니다. ex)  22
  • %m : 월을 2자리 숫자로 출력합니다. ex) 01
  • %M : 월의 이름을 출력합니다. ex) February
  • %d  : 일을 숫자로 출력합니다. ex) 15
  • %D : 일을 출력하되, 해당 일이 몇번째 일인지 영어로 출력합니다. ex) 15st
  • %h : 12시간 단위로 시(hour)를 출력합니다. ex) 14
  • %H : 24시간 단위로 시(hour)를 출력합니다. ex ) 02
  • %i : 분을 2자리 숫자로 출력합니다. ex) 59
  • %s : 초를 2자리 숫자로 출력합니다. ex)59
  • %p : AM 또는 PM을 출력합니다.
  • %P : am 또는 pm을 출력합니다.

 

주로 쓰이는 것들을 정리를 해봤을 때, y m d h 의 알파벳은 대 소문자를 구별해 출력 값이 다르므로 주의해서 사용 할 필요성이 있습니다.

 

Oracle 형식 기준으로 YYYY-MM-DD의 숫자형식으로 출력하고 싶을 경우에, Mysql에서는 '%Y-%m-%d' 의 형식으로 출력해야 맞는 값이 나옵니다.

 

 

사용법

 

SELECT DATE_FORMAT('2022-03-15', '%Y'); -- 출력: 2022

 

SELECT DATE_FORMAT('2022-03-15', '%y'); -- 출력: 22

 

SELECT DATE_FORMAT('2022-03-15', '%m'); -- 출력: 03

 

SELECT DATE_FORMAT('2022-03-15', '%M'); -- 출력: March

 

SELECT DATE_FORMAT('2022-03-15', '%d'); -- 출력: 15

 

SELECT DATE_FORMAT('2022-03-15', '%D'); -- 출력: 15th

 

-- 12시간 단위로 시(hour)를 출력
SELECT DATE_FORMAT('2022-03-15 14:25:30', '%h:%i %p');-- 출력: 02:25 PM

12시간 단위로 표현하므로, 오전/오후인지 구분 값 '%p' 와 같이 주로 사용된다.

 

-- 24시간 단위로 시(hour)를 출력
SELECT DATE_FORMAT('2022-03-15 14:25:30', '%H:%i:%s'); -- 출력: 14:25:30

 

SELECT DATE_FORMAT('2022-03-15 14:05:30', '%i'); -- 출력: 05

 

SELECT DATE_FORMAT('2022-03-15 14:05:03', '%s'); -- 출력: 03
728x90