Vantageは、JSON型のキャスト機能を提供します。
- JSON型は、JSON型の他のすべての形式にキャストできます。
- JSON型は、JSON UNICODEからJSON LATINにキャストするなど、異なる文字セットのJSON型にキャストできます。
- JSON型は、同じ文字セットのVARCHARとCLOBの間でキャストできます。
- VARCHAR(32,000) CHARACTER SET UNICODE
- VARCHAR(64,000) CHARACTER SET LATIN
- CLOB(8,388,096) CHARACTER SET UNICODE
- CLOB(16,776,192) CHARACTER SET LATIN
- JSON型は、同じ文字セットのCHARにキャストできます。
- CHAR(32,000) CHARACTER SET UNICODE
- CHAR(64,000) CHARACTER SET LATIN
- BYTE、VARBYTE、またはBLOB間で、バイナリ格納形式と指定されたJSON型をキャストできます。
VARCHAR/CHARとの間で相互にJSON型をキャストし、文字セットを指定しない場合は、JSON型の文字セットが使用されます。
キャスト機能は暗黙的に呼び出すことができ、テキストにおけるデータのキャストのやり取りの形式は、JSON構文に従います。
CASTへの入力が空のJSONオブジェクトの場合(例えばSELECT CAST( '' AS JSON);)、キャスト ルーチンは空のJSONオブジェクトを返します。
CAST文にドット表記の式がある場合、データベースは明示的なキャストを実行せずに目的のデータ型を返そうとします。これによりデータ変換上のパフォーマンスが向上します。さらに、変換が失敗した場合にエラーの代わりにNULL値が返されるようになります。これは、対象とするターゲットのデータ型と一致しない異常を含む可能性があるダーティ データを処理するのに役立ちます。
JSONドット表記式を次のデータ型にキャストして変換が失敗した場合、NULL値の代わりにエラーが返されます。
- TIMEまたはTIMESTAMP
- DATE
- LOBまたはCLOB
- UDT
キャストの結果としてデータの切り捨てが発生すると、NULL値が返されます。