JSON_COMPOSE構文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - JSONデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/uwa1591040057999.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
evi1472243742653
Product Category
Software
Teradata Vantage
{ JSON_COMPOSE ( param_spec [,...] ) |

  ( JSON_COMPOSE ( param_spec [,...] ) RETURNS returns_clause )
}

構文要素

param_spec
param [ (FORMAT 'format_string') ] [ AS name ]
returns_clause
{ data_type [ (integer) ] [ CHARACTER SET { UNICODE | LATIN } ] |

  STYLE column_expr
}
param
何らかの値に評価される列参照、定数、または式にすることができる入力パラメータ。可変個のパラメータが許可され、各入力パラメータは、返されるJSON文書で名前と値のペアになります。
LOB属性を入力として、構造化されたUDTを使用できません。
FORMAT 'format_string'
format_stringは、Vantageで許可される任意の書式設定文字列です。
format_stringの使用例については、例: SUBQUERYとGROUP BYによるJSON_COMPOSEの使用を参照してください。
AS name
nameは、Vantageで許可される任意の名前です。
作成される文字列はJSON標準エスケープ スキームに準拠します。UNICODE文字のサブセットは、'\'文字によってエスケープする必要があります。これは、Vantageの文字列には当てはまりません。したがって、Vantage文字列をJSON文字列に移植する場合は、必要に応じて適切なJSONエスケープ文字が使用されます。これは、JSONインスタンスの値およびJSON_AGG関数にも適用されます。文字セットがLATINの場合、'\'エスケープ文字はその文字セットに含まれる必要があります。そうしなければ、構文エラーが報告されます。
RETURNS data_type
data_typeが関数の戻り型になるように指定します。
この関数のdata_typeはJSONにする必要があります。
integer
JSON型の文字の最大長を指定する正の整数値。指定する場合、長さは最小2文字で関数の絶対最大長を超えることはできません。短い方の長さが指定されます。
JSON_AGGは、集約関数として最大64000バイトをサポートします(32000のUNICODE文字または64000のLATIN文字)。RETURNS句は、さらに大きな戻り値を指定できますが、JSON_AGGが返す実際のデータは64000バイトです。データ長がこれより大きい場合はエラーが返されます。JSON_COMPOSEは、JSON_AGGより大きな値を指定できます。
RETURNS句を指定しない場合、戻り値の型はデフォルトのJSON(32000) CHARACTER SET UNICODEになります。言い換えれば、デフォルトの戻り値の型はUNICODE文字セットのJSONデータ型で、戻り値の長さは32000文字です。
CHARACTER SET UNICODE | LATIN
RETURNS data_type句のデータ型の文字セット。
文字セットは、LATINまたはUNICODEにできます。
RETURNS STYLE column_expr
関数の戻り型が指定列のデータ型と同じになるように指定します。列のデータ型はJSONである必要があります。
column_exprは、有効なテーブルまたはビューの列参照にすることができます。