Oracle Databaseでは、JSON_ARRAY() 関数は、SQLスカラー式のシーケンスまたは1つのコレクションタイプインスタンスVARRAYからJSON配列を作成します またはNESTED TABLE 。
構文
構文は次のようになります:
JSON_ARRAY
( expr [ FORMAT JSON ] [, expr [ FORMAT JSON ] ]...
[ JSON_on_null_clause ] [ JSON_returning_clause ]
[ STRICT ] ) 場所:
-
exprJSONオブジェクト、JSON配列、数値リテラル、テキストリテラル、日付、タイムスタンプ、またはnullに評価されるSQL式です。 。 -
FORMAT JSON入力文字列がJSONであるため、出力で引用符で囲まれないことを示します。 -
JSON_on_null_clauseexprのときに使用する動作を指定します null値が含まれています(つまり、出力にnull値が含まれるか含まれないかのいずれかです)。 -
JSON_returning_clause戻り値のタイプを指定します。 -
STRICTJSON生成関数の出力が正しいJSONであるかどうかを確認します。チェックに失敗すると、構文エラーが発生します。
例
これがどのように機能するかを示す例です:
SELECT JSON_ARRAY(1, 2, 3) FROM DUAL; 結果:
[1,2,3]
ネスト
JSON_ARRAY()をネストすることもできます 別のJSON_ARRAY()内の関数 機能:
SELECT JSON_ARRAY(
JSON_ARRAY(1, 2, 3),
JSON_ARRAY(4, 5, 6)
)
FROM DUAL; 結果:
[[1,2,3],[4,5,6]]
FORMAT JSON 条項
FORMAT JSONを使用できます 入力文字列がJSONであるため、出力で引用符で囲まないことを示す句。
デモンストレーションの例を次に示します。
SELECT
JSON_ARRAY('{"a":1}') AS r1,
JSON_ARRAY('{"a":1}' FORMAT JSON) AS r2
FROM DUAL; 結果:
R1 R2
________________ ____________
["{\"a\":1}"] [{"a":1}] ヌル値
結果の配列にnull値を含めるかどうかを指定できます。
それらを含めるには、NULL ON NULLを使用します :
SELECT
JSON_ARRAY(1, null, 3 NULL ON NULL)
FROM DUAL; 結果:
[1,null,3]
それらを除外するには、ABSENT ON NULLを使用します :
SELECT
JSON_ARRAY(1, null, 3 ABSENT ON NULL)
FROM DUAL; 結果:
[1,3]
ABSENT ON NULL デフォルトです。
この関数の詳細については、Oracleのドキュメントを参照してください。