3.6.8.6. JSONTABLE


JSONTABLE 関数は JsonPath を使用して表形式出力を生成します。JSONTABLE 機能は暗黙的にネストされたテーブルで、FROM 句内で使用できます。

用途

JSONTABLE(value, path [, nullLeafOnMissing] COLUMNS <COLUMN>, ... ) AS name
Copy to Clipboard Toggle word wrap

COLUMN := name (FOR ORDINALITY | (datatype [PATH string]))
Copy to Clipboard Toggle word wrap

JsonPathも参照してください。

パラメーター

value
有効な JSON ドキュメントを含む clob。
nullLeafOnMissing

false(デフォルト)の場合は、欠落しているリーフに評価されるパスにより例外が発生します。nullLeafOnMissing が true の場合、null 値が返されます。

PATH
文字列は有効な JsonPath である必要があります。配列の値が返されると、行の生成に null 以外の各要素が使用されます。そうでないと、null 以外の項目 1 つを使用して行を作成します。
FOR ORDINALITY

整数として入力された列。1 ベースのアイテム番号をその値として返します。

  • 各非理論の列は型を指定し、オプションで PATH を指定します。
  • PATH が指定されていない場合、パスは @['name'] コラム名から生成されます。PATH が指定されている場合は、@ で始まる必要があります。これは、パスが現在の行コンテキスト項目の相対パスで処理されることを意味します。

構文ルール

  • 列名に重複を含めることはできません。
  • JSONTABLE 関数で配列タイプを使用することはできません。

JSON 表の例

渡すと 1 行を返します [1]。

select * from jsontable('{"a": {"id":1}}}', '$.a' COLUMNS id integer) x
Copy to Clipboard Toggle word wrap

ネストされたテーブルとして以下を実行します。

select x.* from t, jsontable(t.doc, '$.x.y' COLUMNS first string, second FOR ORDINALITY) x
Copy to Clipboard Toggle word wrap

より複雑なパス:

select x.* from jsontable('[{"firstName": "John", "lastName": "Wayne", "children": []}, {"firstName": "John", "lastName": "Adams", "children":["Sue","Bob"]}]', '$.*' COLUMNS familyName string path '@.lastName', children integer path '@.children.length()' ) x
Copy to Clipboard Toggle word wrap

XMLTABLE との相違点

JSON から表への結果の処理は、以前は JSONTOXML で XMLTABLE を使用することで推奨されていました。ほとんどのタスクでは、JSONTABLE はより簡単な構文を提供します。ただし、以下のような違いがいくつかあります。

  • JSONTABLE は、JSON を完全に解析します。XMLTABLE はストリーミング処理を使用して、メモリーのオーバーヘッドを減らします。
  • JSONPath は、XQuery より強力なものではありません。XQuery/XPath には多くの関数および操作があり、JsonPath では使用できません。
  • JSONPath では、列パスの親参照は許可されません。親階層のルートまたは任意の部分を参照する機能はありません(XPath 内の)。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat