例: SELECT AS JSON - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

これらの例では、テーブルの定義は次のとおりです。

CREATE TABLE MyTable (
a INTEGER, 
b INTEGER, 
j JSON AUTO COLUMN);

これらの文は、テーブルにデータを挿入します。

INSERT INTO MyTable JSON '{"a":10,"b":1234,"extra":"1234"}';
INSERT INTO MyTable JSON '{"a":2345,"b":11,"extra":"2222"}';

このSELECT文は、MyTableのすべての列を最初の列で順序付けして返します。

SELECT * FROM MyTable ORDER BY 1;
a b j
10 1234 Snippet:{"extra":"1234"}
2345 11 Snippet:{"extra":"2222"}

この文には、列a、b、jのデータをJSON形式で返すAS JSONオプションが含まれます。

SELECT AS JSON a, b, j FROM MyTable;

出力は、"JSON"という名前の1つのJSON列です。

JSON
Snippet:{"a":2345,"b":11,"j":{"extra":"2222"}}
Snippet:{"a":10,"b":1234,"j":{"extra":"1234"}}

ORDER BYオプションを使用したSELECT AS JSONの場合、列を位置ではなく名前で指定する必要があります。

SELECT AS JSON a, b FROM MyTable ORDER BY a ASC;
JSON
Snippet:{"a":2345,"b":11,"j":{"extra":"2222"}}
Snippet:{"a":10,"b":1234,"j":{"extra":"1234"}}

TOP nオプションを使用したSELECT AS JSONの場合、ORDER BY列を位置ではなく名前で指定する必要があります。

SELECT AS JSON TOP 2 a, b FROM MyTable ORDER BY a DESC;
JSON
Snippet:{"a":2345,"b":11}
Snippet:{"a":10,"b":1234}