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

MySQL에서 TIME 값에서 분(Minute)을 추출하는 방법

MySQL에서 시간(TIME) 값에서 분(Minute) 부분만 추출하고 싶다면, EXTRACT() 함수와 CAST() 함수를 함께 사용하면 됩니다. EXTRACT() 함수는 날짜 및 시간 값에서 원하는 단위(년, 월, 일, 시, 분, 초 등)를 손쉽게 가져올 수 있는 강력한 도구입니다.

기본 문법

시간 값에서 분을 추출하는 기본 문법은 다음과 같습니다.

SELECT EXTRACT(MINUTE FROM CAST(yourColumnName AS TIME)) AS anyAliasName FROM yourTableName;

여기서 CAST() 함수는 컬럼의 값을 TIME 타입으로 변환해 주며, EXTRACT() 함수가 변환된 시간 값에서 MINUTE(분)를 추출합니다.

예제 테이블 생성

먼저 실습을 위한 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE demo15
-> (
-> value TIME
-> );
Query OK, 0 rows affected (2.11 sec)

이제 INSERT 명령어를 사용해 몇 개의 레코드를 삽입합니다.

mysql> INSERT INTO demo15 VALUES('10:30:45');
Query OK, 1 row affected (0.09 sec)

mysql> INSERT INTO demo15 VALUES('06:34:55');
Query OK, 1 row affected (0.17 sec)

저장된 데이터 확인

SELECT 문을 사용해 테이블에 저장된 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM demo15;

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

+----------+
| value    |
+----------+
| 10:30:45 |
| 06:34:55 |
+----------+
2 rows in set (0.00 sec)

분(Minute) 추출 쿼리

이제 시간 값에서 분을 추출하는 쿼리를 실행해 보겠습니다.

mysql> SELECT EXTRACT(MINUTE FROM CAST(value AS TIME)) AS Minute FROM demo15;

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

+--------+
| Minute |
+--------+
|     30 |
|     34 |
+--------+
2 rows in set (0.00 sec)

결과 해석

위 결과를 보면 첫 번째 값 10:30:45에서는 30분이, 두 번째 값 06:34:55에서는 34분이 정상적으로 추출된 것을 확인할 수 있습니다.

추가 팁

분뿐만 아니라 다른 단위도 같은 방식으로 추출할 수 있습니다. 예를 들어 시(HOUR)를 추출하려면 EXTRACT(HOUR FROM ...), 초(SECOND)를 추출하려면 EXTRACT(SECOND FROM ...)를 사용하면 됩니다. 또한, 컬럼이 이미 TIME 타입이라면 CAST() 함수 없이 EXTRACT(MINUTE FROM value)처럼 바로 사용할 수도 있습니다.