Recent Posts
Recent Comments
Archives
반응형
250x250
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Yesterday

Total
05-05 03:02
관리 메뉴

Hey Tech

[MySQL] DATE_FORMAT: 날짜/시간 표기 방식 지정하기 본문

AI & 빅데이터/MySQL

[MySQL] DATE_FORMAT: 날짜/시간 표기 방식 지정하기

Tony Park 2021. 2. 27. 22:18
728x90
반응형

본 포스팅에서는 MySQL 내 date_format 구문을 활용하여 날짜 혹은 시간 표기 방식을 지정하는 방법을 알아봅니다.

목차

1.  date_format 표기법
2.  날짜만 출력하기
    2.1.  'yyyy-mm-dd' 형태로 출력하기
    2.2.  'yy-mm-dd' 형태로 출력하기
3.  시간 정보만 출력하기
    3.1.  24시간 제로 출력하기
    3.2.  12시간 제로 출력하기

1.  date_format 표기법

date_format은 대소문자를 구분하기 때문에 요구사항에 맞는 알파벳을 찾아 적절하게 활용하시길 바랍니다.

  Specifier Description Example 
1 %Y 연도(year): 4자리 표현 2021
2 %y 연도(year): 뒤에서 2자리 표현 21
3 %a 요일(weekday): 이름 줄임표현 Mon, Tue, Wed, ...
4 %W 요일(weekday): 이름 Sunday, ..., Saturday
5 %w 요일(weekday): 숫자 활용 0 = Sunday, ... , 6 = Saturday
6 %b 월(month): 이름 줄임표현 Jan, Feb, Mar, ...
7 %M 월(month): 이름 January, February, ..., December
8 %c 월(month): 숫자 표기(자릿수 고정 X) 0, 1, 2, ..., 12
9 %m 월(month): 숫자 표기(자릿수 2개로 고정) 00, 01, ..., 12
10 %D 일(day): 접미사 활용 0th, 1st, 2nd, 3rd, ...
11 %d 일(day): 숫자 활용(1개월 단위) 0, 1, 2, 3, ...
12 %j 일(day): 숫자 활용(1년 단위) 001, 002, ..., 366
13 %p 오전/오후 구분 AM or PM
14 %T 24시간제 시간 표기 23:05:12 ("오후 11시 5분 12초")
15 %r 12시간제 시간 표기 및 오전/오후 구분 11:05:12 PM
16 %f Microseconds 000000, ...., 999999
17 %H 시간(hour): 24시간제 00, 01, ..., 23
18 %k 시간(hour): 24시간제 00, 01, ..., 23
19 %h 시간(hour): 12시간제 01, 02, ..., 12
20 %I 시간(hour): 12시간제 01, 02, ..., 12
21 %i 분(minute): 1시간 단위 00, 01, ..., 59
22 %S 초(seconds) 00, ..., 59
23 %s 초(seconds) 00, ..., 59
24 %U 주(Week): 1년 단위 (일요일이 1주의 시작) 00, 01, ..., 53
25 %u 주(Week): 1년 단위 (월요일이 1주의 시작) 00, 01, ..., 53
26 %v 주(Week): 1년 단위 (일요일이 1주의 시작) 01, 02, ..., 53

출처: dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format

 

MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions

12.7 Date and Time Functions This section describes the functions that can be used to manipulate temporal values. See Section 11.2, “Date and Time Data Types”, for a description of the range of values each date and time type has and the valid formats

dev.mysql.com

2.  날짜만 출력하기

2.1.  'yyyy-mm-dd' 형태로 출력하기

SELECT date_format([칼럼 이름], '%Y-%m-%d')
FROM [테이블 이름]

'2021-03-02'와 같이 날짜 정보를 줄임 없이 출력할 때는 date_format 구문에서 칼럼 이름날짜 형식('%Y-%m-%d')을 차례로 입력해 주면 됩니다. 날짜 형식 입력 시 대소문자 구분을 하므로 주의하시길 바랍니다.

예시

SELECT date_format(Now(), '%Y-%m-%d');

Now() 함수는 현재 날짜 및 시간 정보를 제공합니다.

2022-03-04

2.2.  'yy-mm-dd' 형태로 출력하기

이번에는 연도의 뒤에서 두 자리만 출력하고 싶을 경우, 연도 정보에서 대문자 'Y'를 소문자 'y'로 변경해 주시면 됩니다.

예시

SELECT date_format(Now(), '%y-%m-%d');

출력결과

22-03-04

3.  시간 정보만 출력하기

시간 정보 표기방식은 크게 24시간제와 12시간 제로 나눌 수 있습니다. 각각 알아봅니다.

3.1.  24시간제로 출력하기

방법1: %H-%i-%s

SELECT date_format(Now(), '%H-%i-%s');

오전 7시 2분 56초의 24시간제 표기법은 '07-02-56'이죠. 시간 표기방식 '%H-%i-%s' 입니다.

07-06-53

방법2: %T

SELECT date_format(datetime, '%T');

%T와 같이 더욱 간단한 표기방법도 있습니다. 방법1과의 차이점은 출력 결과에 시간 구분이 하이픈(-)에서 콜론(:)으로 바뀌었다는 점입니다.

07:02:56

3.2.  12시간 제로 출력하기

SELECT date_format(Now(), '%h-%i-%s');

이번에는 오전/오후를 구분하지 않고 12시간제로 시간 정보를 출력하는 방법입니다.

24시간제 표기법에 사용했던 대문자 'H'를 소문자 'h'로 바꿔주면 됩니다.

예시

SELECT date_format(Now(), '%h-%i-%s');

 

07-08-57

 

Last Updated @2022-03-14

- sdf 님께서 피드백 주신 포스팅 내 오류 수정

- 새로운 테이블 생성을 통한 예제 활용에서 Now() 함수를 활용한 예제 활용으로 수정


포스팅 내용에 오류가 있을 경우 아래에 댓글 남겨 주시면 감사드리겠습니다.

그럼 오늘도 건강한 하루 보내시길 바랍니다 :-)

고맙습니다.

728x90
반응형
Comments