例: 通常列を使用したJSON_TABLE - Teradata Database - Teradata Vantage NewSQL Engine - この例では、通常列を使用した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
この例では、通常列を使用したJSON_Tableを示します。
例では、以前に作成したテーブルを使用します。
SELECT * FROM JSON_Table 
(ON (SELECT id, jsonCol FROM my_table WHERE id=1)
USING rowexpr('$.schools[*]')
               colexpr('[ {"jsonpath" : "$.name",
                           "type" : "CHAR(20)"},
                          {"jsonpath" : "$.type",
                           "type" : "VARCHAR(20)"}]')
) AS JT(id, schoolName, "type");
結果:
id  schoolName    type
------------------------------
1   Lake          elementary
1   Madison       middle
1   Rancho        high
1   UCI           college
この例では、fromRoot属性を使用するJSON_Tableを示します。
例では、以前に作成したテーブルを使用します。
SELECT * FROM JSON_Table
( ON (SELECT id, jsonCol FROM my_table WHERE id=1)
USING rowexpr('$.schools[*]')
      colexpr('[ {"jsonpath" : "$.name",
                  "type" : "CHAR(20)"},
                 {"jsonpath" : "$.type",
                  "type" : "VARCHAR(20)"},
                 {"jsonpath" : "$.name",
                  "type" : "VARCHAR(20)",
                  "fromRoot":true} ]')
) AS JT(id, schoolName, "type", studentName);
結果:
id  schoolName     type               studentName
--------------------------------------------------
1   Lake           elementary         Cameron
1   Madison        middle             Cameron
1   Rancho         high               Cameron
1   UCI            college            Cameron