17.10 - ルールと制限 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - DATASETデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1198-171K-JPN
Language
日本語 (日本)
CSV_TO_JSONがCSVデータをJSONデータ型インスタンスに変換した場合、入力はCSVデータの複数のセットから構成され、以下の動作が想定されます。
  • データを集約する場合、構造が同一でなければなりません。
  • データが集約されない場合、構造は同じである必要はありません。ただし、SCHEMAカスタム句が出力JSONドキュメント内のフィールド名を指定している場合は、指定された名前およびフィールドの数がすべてのCSVデータ セットのすべてのレコードで同じでなければなりません。
CSV_TO_JSONは'data'と呼ばれる1つの出力列を生成します。以下のカスタム句に基づいて出力をチューニングすることができます。
  • SCHEMAを指定して、公開されるデータ構造を明示的に定義します。アドホック スキーマ仕様を表わす文字列を句で使用します。それ以外の値を使用するとエラーが発生します。アドホック スキーマが指定されている場合、構造はCSV形式のルールに従う必要があります。句が指定されていない場合、入力CSVデータはデフォルトに従うものと想定されます。
  • DO_AGGREGATE出力インスタンスを指定して、入力データを1つの行として作成します。この句ではY(結果が集約される)またはN(結果が集約されない、デフォルト設定)のどちらも指定できます。どちらのオプションでも大文字小文字は区別されません。句を除外すると、テーブル演算子は、入力CSVデータの各セットの各レコードに対して1つのTeradata出力行内の1つのJSONインスタンスを返します。指定されている最大サイズが原因で集約されたデータのサイズがオーバーフローすると、エラーが発生します。

テーブル演算子はRETURNS句を使用して任意の文字セットまたは格納形式のJSONデータ型のデータを作成します。デフォルトでは最大サイズのJSON CHARACTER SET LATINインスタンスを返します。NULLのJSON値に変換されるNULLフィールドを除き、すべての値が文字列として扱われます。

特にフィールド区切り記号またはレコード区切り記号として使用される文字がフィールドに含まれている場合は、CSVデータ内のフィールドが二重引用符で囲まれることがあります。CSV_TO_JSONは、二重引用符で囲まれたフィールドを検出すると、余分な引用符を取り除いてキーまたは値を出力します。CSVデータ フィールド名が含まれたレコード区切り記号を表示し、JSONドキュメントが作成される前に余分な引用符が削除されることを確認するには、<例: 二重引用符で囲まれたCSVデータの使用(CSVからJSONへ)>を参照してください。

カンマに続くデータ(レコード区切り記号を除く)がないレコードの末尾のカンマは無視されます。カンマはNULL値とは解釈されません。