JSON_KEYS - Teradata Database - Teradata Vantage NewSQL Engine - JSON_KEYSテーブル演算子は、JSONインスタンスを解析し、キー名のリストを出力します。

Teradata Vantage™ JSONデータ型

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/bgi1512081870828.ditamap
dita:ditavalPath
ja-JP/bgi1512081870828.ditaval
dita:id
evi1472243742653
Product Category
Software
Teradata Vantage

目的

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