本ページでは、Realtime Compute でテーブル値関数 MULTI_KEYVALUE を使用する方法について説明します。
注 MULTI_KEYVALUE 関数は、Realtime Compute V2.2.2 以降でのみ使用することができます。
構文
MULTI_KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name1, VARCHAR key_name2, ...)
入力パラメーター
-
str
キーと値のペアの文字列。 このパラメーターは VARCHAR タイプです。 -
split1
VARCHAR タイプのキーと値のペアのセパレータ。 split1 が null の場合は、空白がキーと値のペアの区切り文字として使用されます。 split1 の値に複数の文字が含まれている場合は、split1 は一連の区切り文字を指定し、値の各文字は有効な区切り文字を指定します。 -
split2
VARCHAR タイプの Key-Value セパレータ。 split2 が null の場合は、空白がキーと値の区切り文字として使用されます。 split2 の値に複数の文字が含まれている場合は、split2 は一連の区切り文字を指定し、値の各文字は有効な区切り文字を指定します。 -
key_name1, key_name2, ...
値が抽出されるキー名のリスト。 このパラメーターは VARCHAR タイプです。
- テストデータ
str(VARCHAR) | split1(VARCHAR) | split2(VARCHAR) | key1(VARCHAR) | key2(VARCHAR) |
---|---|---|---|---|
k1=v1;k2=v2 | ; | = | k1 | k2 |
null | ; | = | k1 | k2 |
k1:v1;k2:v2 | ; | : | k1 | k3 |
k1:v1;k2:v2 | ; | = | k1 | k2 |
k1:v1;k2:v2 | , | : | k1 | k2 |
k1:v1;k2=v2 | ; | : | k1 | k2 |
k1:v1abck2:v2 | cab | : | k1 | k2 |
k1:v1;k2=v2 | ; | := | k1 | k2 |
k1:v1 k2:v2 | null | : | k1 | k2 |
k1 v1;k2 v2 | ; | null | k1 | k2 |
- テスト文
SELECT c1, c2
FROM T1, lateral table(MULTI_KEYVALUE(str, split1, split2, key1, key2))
as T(c1, c2)
- テスト結果
c1(VARCHAR) | c2(VARCHAR) |
---|---|
v1 | v2 |
null | null |
v1 | null |
null | null |
null | null |
v1 | null |
v1 | v2 |
v1 | v2 |
v1 | v2 |
v1 | v2 |