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)처럼 바로 사용할 수도 있습니다.