최종 수정: 에
AUTO_PARTITION_NAME
설명
AUTO_PARTITION_NAME 함수는 자동 파티션의 이름을 생성하는 데 사용됩니다. 두 가지 모드를 지원합니다. RANGE 모드는 시간 단위를 기준으로 파티션 이름을 생성하고, LIST 모드는 문자열 값을 기준으로 파티션 이름을 생성합니다.
Apache Doris 2.1.6부터 지원됩니다.
구문
AUTO_PARTITION_NAME('RANGE', <unit>, <datetime>)
AUTO_PARTITION_NAME('LIST', <value>[, <value> ...])
매개변수
| 매개변수 | 설명 |
|---|---|
'RANGE' | RANGE 파티션 모드로, 시간을 기준으로 파티션 이름을 생성합니다 |
'LIST' | LIST 파티션 모드로, 문자열 값을 기준으로 파티션 이름을 생성합니다 |
<unit> | RANGE 모드의 시간 단위: year, month, day, hour, minute, second. 타입: VARCHAR |
<datetime> | RANGE 모드의 날짜 및 시간 값. 타입: DATETIME |
<value> | LIST 모드의 파티션 값(여러 개 지정 가능). 타입: VARCHAR |
반환 값
생성된 파티션 이름을 나타내는 VARCHAR 타입을 반환합니다.
특수한 경우:
- RANGE 모드: 파티션 이름 형식은
pYYYYMMDDHHMMSS이며, 단위에 따라 해당 정밀도로 잘립니다 - LIST 모드: 파티션 이름 형식은
p<value><length>이며, 여러 값은 길이로 구분됩니다 - 매개변수가 유효하지 않으면 오류를 반환합니다
예제
- 기본 사용법: 일 단위 RANGE
SELECT auto_partition_name('range', 'day', '2022-12-12 19:20:30');
+------------------------------------------------------------+
| auto_partition_name('range', 'day', '2022-12-12 19:20:30') |
+------------------------------------------------------------+
| p20221212000000 |
+------------------------------------------------------------+
- 월 단위 RANGE
SELECT auto_partition_name('range', 'month', '2022-12-12 19:20:30');
+--------------------------------------------------------------+
| auto_partition_name('range', 'month', '2022-12-12 19:20:30') |
+--------------------------------------------------------------+
| p20221201000000 |
+--------------------------------------------------------------+
- LIST 단일 값
SELECT auto_partition_name('list', 'helloworld');
+-------------------------------------------+
| auto_partition_name('list', 'helloworld') |
+-------------------------------------------+
| phelloworld10 |
+-------------------------------------------+
- LIST 여러 값
SELECT auto_partition_name('list', 'hello', 'world');
+-----------------------------------------------+
| auto_partition_name('list', 'hello', 'world') |
+-----------------------------------------------+
| phello5world5 |
+-----------------------------------------------+
- UTF-8 특수 문자 지원: LIST 모드
SELECT auto_partition_name('list', 'ṭṛì', 'ḍḍumai');
+-------------------------------------------------------+
| auto_partition_name('list', 'ṭṛì', 'ḍḍumai') |
+-------------------------------------------------------+
| p1e6d1e5bec31e0d1e0dumai6 |
+-------------------------------------------------------+
- 유효하지 않은 단위 매개변수
SELECT auto_partition_name('range', 'years', '2022-12-12');
ERROR 1105 (HY000): errCode = 2, detailMessage = range auto_partition_name must accept year|month|day|hour|minute|second for 2nd argument
키워드
AUTO_PARTITION_NAME,AUTO,PARTITION,NAME