- カテゴリ:
半構造化データ関数と構造化データ関数 (配列/オブジェクトの作成および操作)
ARRAYS_ZIP¶
オブジェクト の 配列 を返します。各オブジェクトには、入力配列のn番目の要素のキーと値のペアが含まれます。例えば、返された配列の中で、最初のオブジェクトは入力配列の1番目の要素ごとのキーと値のペアを含み、2番目のオブジェクトは入力配列の2番目の要素ごとのキーと値のペアを含む、などです。
構文¶
引数¶
array入力配列。
入力配列は異なる長さにすることができます。
入力配列のいずれかが 構造化配列 の場合、すべての入力配列は構造化配列である必要があります。
戻り値¶
次に挙げるいずれかの型の値を返します。
入力配列が半構造化配列の場合、この関数は構造化オブジェクトの半構造化配列を返します。
入力配列が構造化配列の場合、この関数は構造化オブジェクトの構造化配列を返します。構造化オブジェクトの定義は、入力配列の数と配列内の値の型によります。
いずれかの入力配列が NULL の場合、関数は NULL を返します。
各オブジェクトには、入力配列のn番目の要素の値のキーと値のペアが含まれています。キー($1、 $2 など)は入力配列の位置を表します。
例えば、次のような配列を渡すとします。
この関数は、以下のオブジェクトの配列を返します。
返された配列の中は、次のとおりです。
1番目のオブジェクトには、すべての入力配列の最初の要素が含まれます。
2番目のオブジェクトには、すべての入力配列の2番目の要素が含まれます。
3番目のオブジェクトには、すべての入力配列の3番目の要素が含まれます。
オブジェクトのキーは入力配列を識別します。
$1キーと値のペアには、1番目の入力配列の値が含まれます。$2キーと値のペアには、2番目の入力配列の値が含まれます。$3キーと値のペアには、3番目の入力配列の値が含まれます。
使用上の注意¶
返される配列は、最も長い入力配列と同じ長さです。入力配列の一部が短い場合、この関数は、短い配列で欠落している残りの要素に対して JSON null を使用します。
入力配列に NULL 要素が含まれている場合、関数はその要素に対して JSON nullを返します。
例¶
以下の例は、この機能の仕組みを示しています。
単一の入力配列¶
次の例は、1つの配列に1番目、2番目、3番目の要素を含むオブジェクトの配列を返します。
複数の入力配列¶
次の例は、入力配列に1番目、2番目、3番目の要素を含むオブジェクトの配列を返します。
異なる長さの入力配列¶
次の例では、異なる長さの入力配列を渡しています。短い配列にない値については、この関数はオブジェクトの JSON NULLを使用します。
NULL と空の配列の処理¶
以下の例に示すように、入力配列に NULL を渡すと、関数は SQL NULL を返します。
以下の例では、入力配列がすべて空であるため、関数は空のオブジェクトを返します。
以下の例では、入力配列の要素の一部が NULL です。返されたオブジェクトでは、これらの要素の値は JSON nullです。