MySQL에서 시간을 HH:MM 형식으로 조회하려면 DATE_FORMAT() 함수를 사용하면 됩니다. 이 함수의 사용법을 이해하기 위해 예제 테이블을 먼저 만들어 보겠습니다.
1. 테이블 생성하기
아래 쿼리로 테이블을 생성합니다.
mysql> create table retrieveTimeDemo
-> (
-> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserArrivalTime datetime
-> );
Query OK, 0 rows affected (0.57 sec)
2. 샘플 데이터 삽입하기
INSERT 명령어를 사용해 테이블에 몇 개의 레코드를 추가합니다.
mysql> insert into retrieveTimeDemo(UserArrivalTime) values('2013-01-21 13:45:34');
Query OK, 1 row affected (0.16 sec)
mysql> insert into retrieveTimeDemo(UserArrivalTime) values('2014-11-25 11:40:56');
Query OK, 1 row affected (0.11 sec)
mysql> insert into retrieveTimeDemo(UserArrivalTime) values('2016-10-27 17:30:40');
Query OK, 1 row affected (0.12 sec)
mysql> insert into retrieveTimeDemo(UserArrivalTime) values('2017-02-21 18:03:06');
Query OK, 1 row affected (0.19 sec)
mysql> insert into retrieveTimeDemo(UserArrivalTime) values('2018-04-24 22:30:32');
Query OK, 1 row affected (0.18 sec)3. 전체 레코드 확인하기
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> select *from retrieveTimeDemo;
실행 결과는 다음과 같습니다.
+--------+---------------------+
| UserId | UserArrivalTime |
+--------+---------------------+
| 1 | 2013-01-21 13:45:34 |
| 2 | 2014-11-25 11:40:56 |
| 3 | 2016-10-27 17:30:40 |
| 4 | 2017-02-21 18:03:06 |
| 5 | 2018-04-24 22:30:32 |
+--------+---------------------+
5 rows in set (0.00 sec)
4. DATE_FORMAT() 함수로 HH:MM 형식 조회하기
MySQL에서 시간을 HH:MM 형식으로 가져오는 쿼리는 아래와 같습니다. 여기서 %H는 24시간제의 시(Hour), %i는 분(Minute)을 의미합니다.
mysql> select date_format(UserArrivalTime,'%H:%i') from retrieveTimeDemo;
실행 결과는 다음과 같습니다.
+--------------------------------------+
| date_format(UserArrivalTime,'%H:%i') |
+--------------------------------------+
| 13:45 |
| 11:40 |
| 17:30 |
| 18:03 |
| 22:30 |
+--------------------------------------+
5 rows in set (0.00 sec)
위 결과를 보면 날짜 정보는 제외되고 시간 부분만 HH:MM 형식으로 깔끔하게 출력된 것을 확인할 수 있습니다. 참고로 12시간제(AM/PM) 형식이 필요하다면 %h:%i %p와 같은 포맷 지정자를 활용할 수 있습니다.