Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 CURRENT_TIMESTAMP를 오전/오후(AM/PM) 형식으로 포맷하는 방법

MySQL DATE_FORMAT()으로 시간을 AM/PM 형식으로 변환하기

MySQL에서 시간 값을 12시간제(오전/오후) 형식으로 표시하려면 DATE_FORMAT() 함수를 사용하면 됩니다. 특히 형식 지정자 %r을 활용하면 시간을 'hh:mm:ss AM/PM' 형태로 손쉽게 변환할 수 있습니다.

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
    LoginTime time
);
Query OK, 0 rows affected (0.48 sec)

1. 샘플 데이터 삽입

INSERT 명령을 사용해 테이블에 시간 데이터를 몇 개 삽입합니다.

mysql> insert into DemoTable values('13:10');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('20:08');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable values('10:55');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('16:40');
Query OK, 1 row affected (0.11 sec)

2. 저장된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+-----------+
| LoginTime |
+-----------+
| 13:10:00  |
| 20:08:00  |
| 10:55:00  |
| 16:40:00  |
+-----------+
4 rows in set (0.00 sec)

3. %r 형식 지정자로 AM/PM 변환하기

다음은 DATE_FORMAT() 함수와 %r 형식 지정자를 사용해 시간을 오전(AM)/오후(PM) 형식으로 변환하는 쿼리입니다.

mysql> select date_format(LoginTime,'%r') from DemoTable;

실행 결과는 다음과 같습니다.

+-----------------------------+
| date_format(LoginTime,'%r') |
+-----------------------------+
| 01:10:00 PM                |
| 08:08:00 PM                 |
| 10:55:00 AM                 |
| 04:40:00 PM                 |
+-----------------------------+
4 rows in set (0.00 sec)

%r 형식 지정자란?

%r은 MySQL에서 제공하는 날짜·시간 형식 지정자 중 하나로, 시간을 'hh:mm:ss AM' 또는 'hh:mm:ss PM' 형태의 12시간제 문자열로 반환합니다.

만약 초 단위 없이 '시:분 AM/PM' 형식만 원한다면 아래와 같이 여러 형식 지정자를 조합할 수도 있습니다.

mysql> select date_format(LoginTime,'%h:%i %p') from DemoTable;
-- 결과 예시: 01:10 PM, 08:08 PM, 10:55 AM, 04:40 PM
  • %h : 두 자리 숫자의 시간 (01~12)
  • %i : 두 자리 숫자의 분 (00~59)
  • %p : 오전은 AM, 오후는 PM으로 표시

이처럼 DATE_FORMAT() 함수를 활용하면 MySQL의 시간 데이터를 다양한 형식으로 자유롭게 변환하여 출력할 수 있습니다.