目的
ARRAY_TO_JSON関数は、Teradata ARRAY型をARRAYで構成されるJSON型に変換します。
構文
RETURNS句を指定した場合、関数呼び出しを括弧で囲む必要があります。
- TD_SYSFNLIB
- 関数が格納されているデータベースの名前。
- ARRAY_expr
- ARRAYデータ型と評価される式。
- RETURNS data_type
- data_typeが関数の戻り型になるように指定します。
- integer
- JSON型の文字の最大長を指定する正の整数値。
- CHARACTER SET
- 関数の戻り値の文字セット。LATINまたはUNICODEになります。
- RETURNS STYLE column_expr
- 関数の戻り型が指定列のデータ型と同じになるように指定します。列のデータ型はJSONである必要があります。
機能の説明
ARRAY_TO_JSON関数は、Teradata ARRAY型をテキストとして格納するJSON型に変換するだけです。
ARRAYデータ型は任意の配列(多次元配列も可)から成るJSON書式設定文字列にマップされます。ARRAYのデータ型が事前定義された数値型である場合、配列構成要素はJSONインスタンスの数値型にマップします。その他すべての型の場合、JSONインスタンスに追加された値はARRAYの各構成要素の変換値で、文字列としてJSONインスタンスに格納されます。JSON配列にはARRAY型と同じ数の構成要素が含まれていることに注意してください。
戻り値
この関数の戻り型はJSONです。
RETURNS句を使用して、JSON型の最大長および文字セットを指定することができます。
RETURNS句を指定しない場合、戻り型のデフォルトはUNICODE文字セットおよび64,000バイトの戻り値長(最大32,000のUNICODE文字をサポート)を持つJSONデータ型となります。
ARRAY_TO_JSONはARRAY_expr引数がNULLの場合、NULLを返します。
ルールと制限
ARRAY型がユーザー定義型(UDT)に基づいている場合、ARRAY_TO_JSON関数を使用するために有効なJSON構文でデータを出力する変換を行なう必要があります。これを行なわない場合、JSON配列の検証が失敗し、関数はエラーを返します。
使用上の注意
ARRAY_TO_JSONは、テーブルの列をARRAYオブジェクトに集約できるようにするARRAY_AGG関数と組み合わせて使用したときに特に力を発揮します。次にARRAY_TO_JSONを使用して、集約されたARRAYをJSON配列に変換することができます。