- カテゴリ:
半構造化データ関数と構造化データ関数 (配列/オブジェクト)
ARRAYS_TO_OBJECT¶
ある入力 ARRAY で指定されたキーと、別の入力 ARRAY で指定された値を含む OBJECT を返します。
構文¶
ARRAYS_TO_OBJECT( <key_array> , <value_array> )
引数¶
key_array
新しい OBJECT のキーを指定する VARCHAR 値の ARRAY。
value_array
新しい OBJECT の値の ARRAY。この ARRAY は
key_array
と同じ長さでなければなりません。この ARRAY の値はkey_array
のキーに対応する必要があります。
戻り値¶
この関数は OBJECT 型の値を返します。OBJECT には、入力 ARRAYs で指定されたキーと値が含まれています。
使用上の注意¶
key_array
の要素が文字列でない場合、この関数は次のエラーを報告します。215002 (22000): Key supplied for ARRAYS_TO_OBJECT does not have string type
key_array
とvalue_array
の長さは等しくなければなりません。そうでない場合、この関数は次のエラーを報告します。215001 (22000): Key array and value array had unequal lengths in ARRAYS_TO_OBJECT
key_array
の要素が NULL の場合、そのキーと対応する値は、返される OBJECT から省略されます。キーが NULL ではなく、
value_array
の対応する要素が NULL の場合、キーと NULL 値は返される OBJECT に含まれます。返された OBJECT は、キーと値のペアの元の順序を保持するとは限りません。
この関数は、入力引数として 構造型 をサポートしていません。
例¶
次の例は、2つの入力 ARRAYs で指定されたキーと値のペアを含む OBJECT を返します。
SELECT ARRAYS_TO_OBJECT(['key1', 'key2', 'key3'], [1, 2, 3]);
+-------------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', 'KEY2', 'KEY3'], [1, 2, 3]) |
|-------------------------------------------------------|
| { |
| "key1": 1, |
| "key2": 2, |
| "key3": 3 |
| } |
+-------------------------------------------------------+
次の例では、キーの ARRAY に NULL 値が含まれています。そのキーと対応する値は、返される OBJECT から省略されます。
SELECT ARRAYS_TO_OBJECT(['key1', NULL, 'key3'], [1, 2, 3]);
+-----------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', NULL, 'KEY3'], [1, 2, 3]) |
|-----------------------------------------------------|
| { |
| "key1": 1, |
| "key3": 3 |
| } |
+-----------------------------------------------------+
次の例では、値の ARRAY に NULL 値が含まれています。その値と対応するキーは、返される OBJECT に含まれています。
SELECT ARRAYS_TO_OBJECT(['key1', 'key2', 'key3'], [1, NULL, 3]);
+----------------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', 'KEY2', 'KEY3'], [1, NULL, 3]) |
|----------------------------------------------------------|
| { |
| "key1": 1, |
| "key2": null, |
| "key3": 3 |
| } |
+----------------------------------------------------------+