MySQL에서 특정 날짜가 속한 분기를 확인하려면 EXTRACT() 함수에 단위 값으로 'quarter'를 지정하면 됩니다. 이 함수는 날짜에서 원하는 부분(연, 월, 일, 분기 등)을 추출해 반환합니다.
1. 특정 날짜의 분기 구하기
아래 예시는 주어진 날짜 '2017-07-29'가 몇 번째 분기에 해당하는지 확인하는 쿼리입니다.
mysql> Select EXTRACT(Quarter from '2017-07-29'); +------------------------------------+ | EXTRACT(Quarter from '2017-07-29') | +------------------------------------+ | 3 | +------------------------------------+ 1 row in set (0.00 sec)
7월은 3분기에 해당하므로, 위 쿼리는 결과로 3을 반환합니다.
2. 현재 날짜의 분기 구하기
현재 시스템 날짜를 기준으로 분기를 알고 싶다면 NOW() 함수와 함께 사용하면 됩니다.
mysql> Select EXTRACT(Quarter from now()); +-----------------------------+ | EXTRACT(Quarter from now()) | +-----------------------------+ | 4 | +-----------------------------+ 1 row in set (0.00 sec)
위 쿼리는 현재 날짜가 속한 분기를 반환합니다. 실행 시점이 10월~12월 사이라면 결과는 4가 됩니다.
참고: QUARTER() 함수 활용하기
MySQL에서는 더 간결하게 분기를 구할 수 있는 전용 함수인 QUARTER()도 제공합니다. 사용법과 결과는 EXTRACT()와 동일합니다.
mysql> Select QUARTER('2017-07-29');
+-----------------------+
| QUARTER('2017-07-29') |
+-----------------------+
| 3 |
+-----------------------+
1 row in set (0.00 sec)정리
- EXTRACT(Quarter from 날짜): 날짜 표현식에서 분기를 추출하는 범용 방식
- QUARTER(날짜): 분기만을 위해 제공되는 간단한 전용 함수
- 현재 날짜 기준으로 조회할 경우 NOW() 또는 CURDATE()를 인자로 사용
두 방법 모두 DATE 또는 DATETIME 타입의 값을 지원하므로, 상황에 맞게 편리한 방식을 선택해 사용하면 됩니다.