例: 追加の列を使用したJSON_TABLE - Teradata Database - Teradata Vantage NewSQL Engine - この例では、IDおよびJSONドキュメントの必須の列に加えて、追加の列を使用するJSON_TABLEを示します。

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
この例では、IDおよびJSONドキュメントの必須の列に加えて、追加の列を使用するJSON_TABLEを示します。 次の例に示されるように、column_expression_literalパラメータには、row_expression_literalの列からこの関数の出力テーブルの列へのマッピングが必要です。 この例を簡略化するために、State列とNation列に定数が使用されています。
例では、以前に作成したテーブルを使用します。
SELECT * FROM JSON_Table
(ON (SELECT id, jsonCol, 'CA' AS state, 'USA' AS nation
           FROM my_table WHERE id=1)
USING rowexpr('$.schools[*]') 
      colexpr('[ {"jsonpath" : "$.name",
                  "type" : "CHAR(20)"},
                 {"jsonpath" : "$.type",
                  "type" : "VARCHAR(20)"}]')
) AS JT(id, name, "type", State, Nation);
結果:
id  name     type               State  Nation
------------------------------------------------
1   Lake     elementary         CA     USA
1   Madison  middle             CA     USA
1   Rancho   high               CA     USA
1   UCI      college            CA     USA