JSON_OBJECT
JSON_on_null_clause::=
JSON_returning_clause::=
目的
SQL/JSONファンクションJSON_OBJECT
では、その入力として、1つ以上のプロパティのキーと値のペアを取得します。これは、それらのキーと値のペアごとのオブジェクト・メンバーを含むJSONオブジェクトを戻します。
[KEY] string VALUE expr
この句を使用して、プロパティのキーと値のペアを指定します。
-
KEY
はオプションで、セマンティクスを明確にするために使用されます。 -
string
を使用して、大/小文字を区別するテキスト・リテラルとしてプロパティ・キー名を指定します。 -
expr
を使用して、プロパティ値を指定します。expr
では、SQL数値リテラルまたはテキスト・リテラルと評価される任意の式を指定できます。expr
が数値リテラルと評価される場合は結果のプロパティ値がJSON数値になり、そうでない場合は結果のプロパティ値が二重引用符で囲まれた大/小文字を区別するJSON文字列値になります。
FORMAT JSON
入力式の後にFORMAT JSON
を指定すると、結果の値がJSONデータを表し、出力で引用符で囲まれないことを宣言できます
JSON_on_null_clause
この句を使用して、expr
がNULLと評価される場合のこのファンクションの動作を指定します。
-
NULL
ON
NULL
- この句を指定した場合は、JSONのNULL値が戻されます。これはデフォルトです。 -
ABSENT
ON
NULL
- この句を指定した場合は、JSONオブジェクトからプロパティのキーと値のペアが省略されます。
JSON_returning_clause
このファンクションによって戻される文字列のデータ型はVARCHAR2
になります。この句により、VARCHAR2
データ型のサイズを指定できます。サイズをバイト数として指定する場合はBYTE
、サイズを文字数として指定する場合はCHAR
を使用します。デフォルトはBYTE
です。この句を省略するか、この句を指定してsize
値を省略した場合、JSON_OBJECT
はVARCHAR2(4000)
型の文字列を戻します。
詳細は、「VARCHAR2データ型」を参照してください。SQLでVARCHAR2
データ型を指定する場合、サイズを指定する必要があります。ただし、JSON_returning_clause
ではサイズを省略できます。
例
次の例では、それぞれが2つのキーと値のペアを含むJSONオブジェクトを戻します。
SELECT JSON_OBJECT (
KEY 'deptno' IS d.department_id,
KEY 'deptname' IS d.department_name
) "Department Objects"
FROM departments d
ORDER BY d.department_id;
Department Objects
----------------------------------------
{"deptno":10,"deptname":"Administration"}
{"deptno":20,"deptname":"Marketing"}
{"deptno":30,"deptname":"Purchasing"}
{"deptno":40,"deptname":"Human Resources"}
{"deptno":50,"deptname":"Shipping"}
. . .