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 ] )
場所:
-
expr
JSONオブジェクト、JSON配列、数値リテラル、テキストリテラル、日付、タイムスタンプ、またはnull
に評価されるSQL式です。 。 -
FORMAT JSON
入力文字列がJSONであるため、出力で引用符で囲まれないことを示します。 -
JSON_on_null_clause
expr
のときに使用する動作を指定します null値が含まれています(つまり、出力にnull値が含まれるか含まれないかのいずれかです)。 -
JSON_returning_clause
戻り値のタイプを指定します。 -
STRICT
JSON生成関数の出力が正しい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のドキュメントを参照してください。