入力値の指定 - Teradata Database - Teradata Vantage NewSQL Engine - CSV_TO_JSONの入力値の指定

Teradata Vantage™ DATASETデータ型

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/pgs1512082344257.ditamap
dita:ditavalPath
ja-JP/pgs1512082344257.ditaval
dita:id
B035-1198
Product Category
Software
Teradata Vantage

ON句で指定された最初の入力値は、文字ベース(例えば、CHAR/VARCHAR/CLOB値またはDATASET STORAGE FORMAT CSV値)でなければならず、指定されたフォーマットに適合するデータで構成されている必要があります。つまり、指定されたフィールド/レコード区切り記号またはデフォルト(これらが指定されていない場合)を使用します。後続の入力値は、AvroまたはJSONへの変換の結果に影響しませんが、テーブル演算子を通じて渡され、追加の出力列として指定されます。これにより、生成されたAvroまたはJSONドキュメントをソースCSVデータに関連付けることができます。このことは複数のCSV入力を変換する際に非常に重要です。

CT dr181746_table(id int, csvData VARCHAR(500));
INSERT INTO dr181746_table(1, 'a,b,c,d,e,f\1,2,3,4,5,6\7,8,9,10,11,12');
INSERT INTO dr181746_table(2, 'a,b,c,d,e,f\13,14,15,16,17,18
\19,20,21,22,23,24');
INSERT INTO dr181746_table(3, 'a,b,c,d,e,f\25,26,27,28,29,30
\31,32,33,34,35,36');

SELECT id, data FROM CSV_TO_JSON
(
    ON (SELECT csvData, id FROM dr181746_table)
    USING SCHEMA('{"record_delimiter":"\\"}')
) as csvJSON
ORDER BY id, data.a;

         id data.TOJSON()
----------- --------------------------------------------------------------
          1 {"a":"1","b":"2","c":"3","d":"4","e":"5","f":"6"}
          1 {"a":"7","b":"8","c":"9","d":"10","e":"11","f":"12"}
          2 {"a":"13","b":"14","c":"15","d":"16","e":"17","f":"18"}
          2 {"a":"19","b":"20","c":"21","d":"22","e":"23","f":"24"}
          3 {"a":"25","b":"26","c":"27","d":"28","e":"29","f":"30"}
          3 {"a":"31","b":"32","c":"33","d":"34","e":"35","f":"36"}