JSON_PUBLISH

Teradata® Database JSONデータ型

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

目的

JSON_PUBLISHは、各種のデータ ソースからJSONデータ型インスタンス(複数可)を構成するために使用するテーブル演算子で、基本的にSQL文で参照できる任意のものが該当します。バイナリ ストレージ形式などサポートされる任意のJSON形式にデータを発行できます。JSON_PUBLISHには、64Kより大きなデータをJSON文書に集約する機能があります。

構文

JSON_PUBLISHは標準のテーブル演算子の構文を使用します。詳細については、<SQLデータ操作言語>でSELECT文の一部として記述されるテーブル演算子構文を参照してください。

オプション カスタム句

2つのオプションのカスタム句を利用して、目的の形式でJSONデータ型インスタンスを構成するために必要な柔軟性を得ることができます。
DO_AGGREGATE
これにより、出力インスタンスが入力データの1つの行で構成されます。この句は次のように'Y'または'N'(文字の大小は問わず)を受け入れます。
  • 'Y'で結果を集計することを指定します。 これは、デフォルトです。
  • 'N'で結果が集計されないことを指定します。

この句を除外すると、JSON_PUBLISHは特定のグループ(ON句のSELECT文にあるオプションのGROUP BY句で定義される)に対応するすべてのデータを、1つのJSONデータ型インスタンスに集約します。なお、このカスタム句とGROUP BY句がないと、すべての入力行が1つのインスタンスとしてグループ化されるので注意してください。データをJSONデータ型インスタンスに集約した結果、指定された最大サイズに基づいてサイズのオーバーフローが生じると、該当するエラー文字列をともなうエラーが報告されます。

WRITE_ARRAY
これにより、出力インスタンスが最上位レベルでJSON配列でなくなります。このため、デフォルトでは、発行されたデータを表わす1つ以上のJSON文書から構成されるJSON配列を返します。この句によって受け入れられる唯一の値は、文字'N'(文字の大小を問わず)です。

発行されたデータをJSON配列にグループ化せず、グループ化しないとJSON構文に違反する場合は、該当するエラー文字列をともなうエラーが報告されます。

戻り値

JSON_PUBLISHはdataという1つの出力列を返しますが、これは結果として得られるJSON文書です。このテーブル演算子の戻り値の型は、常に最大サイズのJSONデータ型です。

JSON_PUBLISHは、テーブル演算子のRETURNS句を使用してデータを任意の文字セットまたはストレージ形式のJSONデータ型に構成できます。デフォルトでは、最大サイズのJSON CHARACTER SET LATINインスタンスを返します。