ARRAY_TO_JSON

Teradata® Database JSONデータ型

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

目的

ARRAY_TO_JSON関数は、Teradata ARRAY型をARRAYで構成されるJSON型に変換します。

構文



RETURNS句を指定した場合、関数呼び出しを括弧で囲む必要があります。





構文要素

TD_SYSFNLIB
関数が格納されているデータベースの名前。
ARRAY_expr
ARRAYデータ型と評価される式。
ARRAY_exprは、JSON型に変換する配列を指定します。
RETURNS data_type
data_typeが関数の戻り型になるように指定します。
data_typeはJSONのみ可能です。
integer
JSON型の文字の最大長を指定する正の整数値。
最大長を指定しない場合、文字セットのデフォルトの最大長が使用されます。指定した場合、長さは最小2文字で、LATINの最大16,776,192文字またはUNICODEの最大8,388,096文字を超えることはできません。
CHARACTER SET
関数の戻り値の文字セット。LATINまたはUNICODEになります。
文字セットを指定しない場合、ユーザーのデフォルト文字セットが使用されます。
RETURNS STYLE column_expr
関数の戻り型が指定列のデータ型と同じになるように指定します。列のデータ型はJSONである必要があります。
column_exprは、有効なテーブルまたはビューの列参照にすることができます。

機能の説明

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配列に変換することができます。