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
'DB > MySql' 카테고리의 다른 글
[DB] MYSQL Column count doesn't match value count at row 1 (0) | 2023.04.27 |
---|---|
[DB] MYSQL TABLE COLUMN 갯수 확인하기 (1) | 2023.04.27 |
[DB] MYSQL 테이블이 사용된 스키마 (데이터베이스) 조회하기 (0) | 2023.04.06 |
[DB] MySql Sequence 생성 및 사용 방법 정리하기 (0) | 2023.04.06 |
[DB] MySql 형변환 함수 CAST 사용하기 (0) | 2023.03.03 |