日本語PDF

JSON_ARRAY

JSON_on_null_clause::=

JSON_returning_clause::=

目的

SQL/JSONファンクション JSON_ARRAYは、一連のSQLスカラー式、または1つのコレクション・タイプ・インスタンス、 VARRAYまたはNESTED TABLEを入力として取ります。

それぞれの式をJSON値に変換し、そのJSON値を含むJSON配列を返します。

ADTにコレクションのメンバーがある場合、型マッピングを実行すると、そのADTに対応するJSONオブジェクトと、コレクション・メンバーのネストしたJSON配列が作成されます。

コレクションにADTインスタンスが含まれている場合は、型マッピングによってJSONオブジェクトのJSON配列が作成されます。

JSON_ARRAY_content

JSON_ARRAYファンクションの入力を定義するとき、この句を使用します。

JSON_ARRAY_element

  • expr

    exprには、JSONオブジェクト、JSON配列、数値リテラル、テキスト・リテラル、日付、タイムスタンプ、NULLのいずれかに評価される任意のSQL式を指定できます。このファンクションは、数値リテラルをJSON数値に、テキスト・リテラルをJSON文字値に変換します。日付およびタイムスタンプのデータ型は、生成されるJSONオブジェクトまたは配列に、ISO8601日付書式に従ったJSON文字列として出力されます。

  • format_clause

    FORMAT JSONを指定すると、入力文字列がJSONであることを示すため、出力で引用符に囲まれません。

JSON_on_null_clause

この句を使用して、exprがNULLと評価される場合のこのファンクションの動作を指定します。

  • NULL ON NULL - この句を指定した場合は、JSONのNULL値が戻されます。

  • ABSENT ON NULL - この句を指定した場合は、JSON配列からこの値が省略されます。これはデフォルトです。

JSON_returning_clause

この句を使用して、戻り値のタイプを指定します。次のいずれかです。

  • バイト数または文字数としてサイズを指定するVARCHAR2。デフォルトは、バイトです。この句を省略するか、size値を指定せずにこの句を指定した場合、JSON_ARRAYVARCHAR2(4000)型の文字列を戻します。詳細は、「VARCHAR2データ型」を参照してください。SQLでVARCHAR2データ型を指定する場合、サイズを指定する必要があります。ただし、JSON_returning_clauseではサイズを省略できます。

  • シングルバイト文字またはマルチバイト文字を含むキャラクタ・ラージ・オブジェクトを戻すCLOB

  • AL32UTF8文字セットのバイナリ・ラージ・オブジェクトを戻すBLOB

STRICT

STRICT句を指定して、JSON生成ファンクションの出力が正しいJSONであることを確認します。チェックに失敗すると、構文エラーが発生します。

例については、JSON_OBJECTを参照してください。

次の例では、JSONオブジェクト、JSON配列、数値リテラル、テキスト・リテラルおよびNULLからJSON配列を構成します。

SELECT JSON_ARRAY (     
    JSON_OBJECT('percentage' VALUE .50),
    JSON_ARRAY(1,2,3),
    100,
    'California',
    null
    NULL ON NULL
    ) "JSON Array Example"
  FROM DUAL;
 
JSON Array Example
--------------------------------------------------------------------------------
[{"percentage":0.5},[1,2,3],100,"California",null]