16.20 - 例: SELECT AS JSON - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

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

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}