JSON_KEYS

Teradata® Database JSONデータ型

brand
Software
prodname
Teradata Database
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1150-162K-JPN

目的

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)
検索の深度を制限するオプションの句。valueは、検索の最大深度を指定する正の整数です。
デフォルト値は、JSONインスタンスの最大深度です。
例えば、深さを1に設定すると、JSONインスタンスの最上位キーが取得されます。
USING QUOTES (value)
結果のキー名が次のように二重引用符で囲まれるかどうかを指定するオプションの句。
  • valueが'Y'または'y'の場合、結果のキー名は二重引用符で囲まれます。これは、USING QUOTES句が指定されていない場合のデフォルトです。
  • valueが'N'または'n'の場合、結果のキー名は二重引用符で囲まれません。
AS
correlation_nameの前に指定するオプションのキーワード。
correlation_name
ON句によって指定される入力列の別名。
ANSI SQLでは、別名を相関名と呼びます。範囲変数とも呼ばれます。

戻り値

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データで使用できます。