に最終更新
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