目的
JSON_KEYSテーブル演算子は、JSONインスタンス(CHAR、VARCHAR、CLOB、またはJSONとして表現)を解析し、キー名のリストを戻します。
構文
- TD_SYSFNLIB
- 関数が格納されているデータベースの名前。
- json_expr
- 正しいJSON構文に評価される式。式は、LATINまたはUNICODEのJSONデータ型のCHAR、VARCHAR、CLOB、またはJSONの表現です。
- USING name (value)
- USING DEPTH (value)またはUSING QUOTES (value)
- AS
- correlation_nameの前に指定するオプションのキーワード。
- correlation_name
- ON句によって指定される入力列の別名。
戻り値
JSON_KEYSは、指定された深さまでJSONインスタンスを検索し、キー名のVARCHAR列を返します。
ドキュメントにJSON配列が存在する場合は、各配列のインデックスあたり1つの結果が生成されます。
すべての結果は、JSON文書内のそれぞれの"パス"に従って示されます。したがって、ネストされたキーに対応する出力には、それ自身およびすべての親キーが含まれます。
USING QUOTES('Y')句を指定すると、結果セットのキー名は二重引用符で囲まれます。これはデフォルトの動作で、これにより、SQLキーワードの不適切な使用の可能性を排除しながらパスをJSON文書におけるエンティティ参照として使用し、パスをSQL文にコピーして貼り付けることができます。
USING QUOTES('N')句を指定すると、結果セットのキー名は二重引用符で囲まれません。これにより、出力をJSONExtractValueなどのJSON抽出メソッドの1つの入力として使用できます。
JSON_KEYSは、テーブル演算子への入力が空のJSONオブジェクトの場合に空の文字列を返します。
使用上の注意
JSON_KEYSは、バイナリ形式のいずれかに加えて、テキスト形式で格納されているJSONデータで使用できます。