例: SELECTリストでのドット表記の使用

Teradata® Database JSONデータ型

brand
Software
prodname
Teradata Database
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1150-162K-JPN

このセクションの例では、SELECTおよびWHERE句でドット表記を使用する例の設定で設定されるテーブルとデータを参照します。

次のSELECT文では、再帰下降演算子(..)の使用方法を示しています。
SELECT jsonCol01..name FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol02..name FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol03..name FROM jsonEnhancedDotNotationTbl;
SELECT jsonCol04..name FROM jsonEnhancedDotNotationTbl;
上記のすべてのクエリーは次のように同じ結果を返します。
> ["disk","RAM","monitor","keyboard","camera","button","mouse","pen"]

ドット表記クエリーに再帰下降演算子が含まれるため、エラー文字列の代わりに結果の一覧が返されます。

次のSELECT文では、ワイルドカード演算子(*)の使用方法を示しています。
SELECT jsonCol01.items[0].* FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol02.items[0].* FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol03.items[0].* FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol04.items[0].* FROM jsonEnhancedDotNotationTbl;
上記のすべてのクエリーは次のように同じ結果を返します。
> [1,"disk",10]

ドット表記クエリーにワイルドカード演算子が含まれるため、エラー文字列の代わりに結果の一覧が返されます。

次のSELECT文では、名前付きリスト演算子の使用方法を示しています。
SELECT jsonCol01[customer,orderID] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol02[customer,orderID] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol03[customer,orderID] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol04[customer,orderID] FROM jsonEnhancedDotNotationTbl;
上記のすべてのクエリーは次のように同じ結果を返します。
> ["CustomerName",3]

ドット表記クエリーに名前付きリスト演算子が含まれるため、エラー文字列の代わりに結果の一覧が返されます。

次のSELECT文では、インデックス リスト演算子の使用方法を示しています。
SELECT jsonCol01.items[0,1] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol02.items[0,1] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol03.items[0,1] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol04.items[0,1] FROM jsonEnhancedDotNotationTbl;
上記のすべてのクエリーは次のように同じ結果を返します。
> [{"ID":1,"name":"disk","amt":10},{"ID":2,"name":"RAM","amt":20}]

ドット表記クエリーにインデックスリスト演算子が含まれるため、エラー文字列の代わりに結果の一覧が返されます。

次のSELECT文では、スライス演算子の使用方法を示しています。
SELECT jsonCol01.items[0:4:2] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol02.items[0:4:2] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol03.items[0:4:2] FROM jsonEnhancedDotNotationTbl; 
SELECT jsonCol04.items[0:4:2] FROM jsonEnhancedDotNotationTbl;
上記のすべてのクエリーは次のように同じ結果を返します。
> [{"ID":1,"name":"disk","amt":10},{"ID":3,"name":"monitor","amt":30}]

ドット表記クエリーにスライス演算子が含まれるため、エラー文字列の代わりに結果の一覧が返されます。