MAX_PART_INT 함수
MAX_PART_INT 함수
지정한 INT 타입 파티션 컬럼에서 최댓값을 찾아 주는 함수예요. 파티션 필터를 함께 적용할 수 있어서, 특정 날짜 범위의 최대 파티션을 쉽게 구할 수 있습니다.
출처: 문서
본문
MAX_PART_INT 함수는 지정된 INT 타입 파티션 컬럼의 최댓값을 찾습니다.
구문:
MAX_PART_INT([db_name.]table_name [, column_name [, part_col=filter, ...]]);
파라미터:
| 파라미터 | 타입 | 값 | 설명 |
|---|---|---|---|
| [dbname.]table_name | VARCHAR | 식별자, 변수 또는 표현식 | 테이블 이름 |
| column_name | VARCHAR | 식별자, 변수 또는 표현식 | 파티션 컬럼 이름 |
| part_col=filter | 파티션 필터 |
참고 사항:
- column name 을 지정하지 않으면 첫 번째 파티션 컬럼이 사용됩니다
- 최댓값을 찾기 전에 파티션 필터가 적용됩니다
- 파티션에 정수가 아닌 값이 있으면 무시됩니다
반환 값:
- 지정된 파티션의 최대 INT 값
- 테이블 또는 파티션이 존재하지 않거나 테이블이 비어 있으면 NULL
반환 타입:
INT.
예제 1:
테이블 db.orders 는 country, local_dt, hour 로 파티셔닝되어 있고 다음과 같은 파티션을 가집니다:
| 파티션 |
|---|
| country=US/local_dt=2014-12-05/hour=1 |
| country=US/local_dt=2014-12-05/hour=2 |
| country=US/local_dt=2014-12-05/hour=3 |
| country=US/local_dt=2014-12-05/hour=UNKNOWN |
파티션 hour 의 최댓값을 찾아 봅시다:
MAX_PART_INT(db.orders, hour);
결과: 3
예제 2:
테이블 db.sales 는 country, local_date, hour 로 파티셔닝되어 있고 다음과 같은 파티션을 가집니다:
| 파티션 |
|---|
| country=US/local_dt=2014-12-06/hour=1 |
| country=US/local_dt=2014-12-07/hour=2 |
| country=US/local_dt=2014-12-07/hour=UNKNOWN |
| country=US/local_dt=2014-12-08/hour=3 |
local_date 가 ‘2014-12-07’ 인 경우 hour 파티션의 최댓값을 찾아 봅시다:
MAX_PART_INT(db.sales, hour, local_date='2014-12-07');
결과: 2
호환성: HPL/SQL 확장.