HPL/SQL - MAX_PART_DATE 함수
HPL/SQL - MAX_PART_DATE 함수
MAX_PART_DATE 함수는 DATE 타입의 지정된 파티션 컬럼에서 최댓값을 찾아줘요. 최신 파티션 날짜를 구해 증분 처리(incremental) 로직에 쓰기 좋아요.
출처: 문서
본문
MAX_PART_DATE 함수는 DATE 타입의 지정된 파티션 컬럼에서 최댓값을 찾습니다.
구문:
MAX_PART_DATE([db_name.]table_name [, column_name [, part_col=filter, ...]]);
매개변수:
| 매개변수 | 타입 | 값 | 설명 |
|---|---|---|---|
| [dbname.]table_name | VARCHAR | 식별자, 변수 또는 표현식 | 테이블 이름 |
| column_name | VARCHAR | 식별자, 변수 또는 표현식 | 파티션 컬럼 이름 |
| part_col=filter | 파티션 필터 |
참고 사항:
- 컬럼 이름을 지정하지 않으면 첫 번째 파티션 컬럼을 사용합니다.
- 최댓값을 찾기 전에 파티션 필터가 적용됩니다.
반환 값:
- 지정된 파티션의 최대 날짜
- 테이블이나 파티션이 없거나 테이블이 비어 있으면 NULL
반환 타입:
DATE
예제 1:
테이블 _db.orders_는 _local_date_로 파티셔닝되어 있고 다음과 같은 파티션이 있습니다:
| 파티션 |
|---|
| local_date=2014-12-02 |
| local_date=2014-12-03 |
| local_date=2014-12-04 |
파티션의 최댓값 찾기:
MAX_PART_DATE(db.orders);
결과: 2014-12-04
예제 2:
테이블 _db.sales_는 _country_와 _local_date_로 파티셔닝되어 있고 다음과 같은 파티션이 있습니다:
| 파티션 |
|---|
| country=US/local_date=2014-12-02 |
| country=US/local_date=2014-12-03 |
| country=UK/local_date=2014-12-04 |
country=US에 대해 local_date 파티션 컬럼의 최댓값 찾기:
MAX_PART_DATE(db.sales, local_date, country='US');
결과: 2014-12-03
호환성: HPL/SQL 확장
같이 보기:
- MIN_PART_DATE(table, colname, partition_spec)
- MAX_PART_STRING(table, colname, partition_spec)
- MIN_PART_STRING(table, colname, partition_spec)
- MAX_PART_INT(table, colname, partition_spec)
- MIN_PART_INT(table, colname, partition_spec)
더 알아보기 (Learn more)
파티션 최댓값을 DATE가 아니라 문자열이나 정수 타입으로 구하고 싶다면 MAX_PART_STRING, MAX_PART_INT 같은 형제 함수를 쓸 수 있어요. 증분 데이터 적재 시 "지난번까지 어디까지 처리했나"를 판단하는 데 자주 활용돼요.