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

MySQL에서 DATETIME 값의 시간과 분만 표시하는 방법

MySQL DATE_FORMAT()으로 시간과 분만 출력하기

MySQL에서 날짜·시간(datetime) 데이터 중 시간(Hour)과 분(Minutes)만 표시하고 싶다면 DATE_FORMAT() 함수를 사용하면 됩니다. 형식 지정자(format specifier)를 활용해 원하는 형태로 손쉽게 출력할 수 있습니다.

기본 문법은 다음과 같습니다.

SELECT DATE_FORMAT(컬럼명, '%H:%i') AS 별칭 FROM 테이블명;

여기서 %H는 24시간 형식의 '시'를, %i는 '분'을 의미합니다.

1. 테스트용 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> CREATE TABLE DemoTable1527
    -> (
    -> ArrivalDatetime datetime
    -> );
Query OK, 0 rows affected (0.76 sec)

2. 샘플 데이터 삽입

INSERT 명령을 사용해 몇 개의 레코드를 추가합니다.

mysql> INSERT INTO DemoTable1527 VALUES('2019-01-10 12:34:45');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable1527 VALUES('2018-12-12 11:00:34');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1527 VALUES('2019-03-21 04:55:56');
Query OK, 1 row affected (0.18 sec)

3. 전체 레코드 확인

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

mysql> SELECT * FROM DemoTable1527;

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

+---------------------+
| ArrivalDatetime     |
+---------------------+
| 2019-01-10 12:34:45 |
| 2018-12-12 11:00:34 |
| 2019-03-21 04:55:56 |
+---------------------+
3 rows in set (0.00 sec)

4. 시간과 분만 표시하는 쿼리

이제 DATE_FORMAT() 함수를 사용해 시간과 분만 출력하는 쿼리는 다음과 같습니다.

mysql> SELECT DATE_FORMAT(ArrivalDatetime,'%H:%i') AS HourAndMinutes FROM DemoTable1527;

실행 결과, 날짜 정보는 제외되고 시간과 분만 깔끔하게 표시됩니다.

+----------------+
| HourAndMinutes |
+----------------+
| 12:34          |
| 11:00          |
| 04:55          |
+----------------+
3 rows in set (0.00 sec)

참고: 자주 사용하는 DATE_FORMAT 형식 지정자

  • %H : 24시간 형식의 시간 (00~23)
  • %h : 12시간 형식의 시간 (01~12)
  • %i : 분 (00~59)
  • %s : 초 (00~59)
  • %T : 24시간 형식의 전체 시간 (hh:mm:ss)

이처럼 DATE_FORMAT() 함수와 형식 지정자를 조합하면 MySQL에서 원하는 시간 형식을 자유롭게 가공하여 표시할 수 있습니다.