このトピックでは、KEYVALUE関数の使用方法について説明します。この関数は、split1区切り文字に基づいて文字列をキーと値のペアに分割し、split2区切り文字に基づいてキーと値のペアを分割します。キーに対応する値が返されます。
制限事項
この関数は、Ververica Runtime(VVR) 3.0.0以降を使用するRealtime Compute for Apache Flinkでのみサポートされています。
構文
VARCHAR KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name) 入力パラメーター
| パラメーター | データ型 | 説明 |
| str | VARCHAR | 分割する文字列。 |
| split1 | VARCHAR | 指定された文字列をキーと値のペアに分割するsplit1区切り文字。 |
| split2 | VARCHAR | キーと値のペアを分割するsplit2区切り文字。 |
| key_name | VARCHAR | キーの名前。 |
説明
- split1パラメーターまたはsplit2パラメーターがNULLの場合、NULLが返されます。
- strパラメーターまたはkey_nameパラメーターがNULLの場合、NULLが返されます。
- キーが見つからない場合、NULLが返されます。
- 複数のキーと値のペアが存在する場合、キーに最初に一致する値が返されます。
例
- テストデータ
表 1. T1 str(VARCHAR) split1(VARCHAR) split2(VARCHAR) key1(VARCHAR) k1=v1;k2=v2 ; = k2 NULL ; | : k1:v1|k2:v2 NULL = : k1:v1|k2:v2 | = NULL k1:v1|k2:v2 | = : - テストステートメント
SELECT KEYVALUE(str, split1, split2, key1) as `result` FROM T1; - テスト結果
result(VARCHAR) v2 NULL NULL NULL NULL