cast
キャスト
説明
JSON型とSQL型の間で値を変換します。
構文
- JSONからSQLへの変換
cast(json_expr AS sql_data_type)
- SQLからJSONへの変換
cast(sql_expr AS JSON)
パラメータ
json_expr
:JSON値をSQL値に変換するための式。sql_data_type
:JSON値を変換したいSQLデータ型。STRING、VARCHAR、CHAR、BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、LARGEINT、DOUBLE、FLOATデータ型のみがサポートされています。sql_expr
:JSON値をJSON値に変換するための式。このパラメータは、sql_data_type
パラメータでサポートされているすべてのSQLデータ型をサポートしています。
返り値
cast(json_expr AS sql_data_type)
構文を使用する場合、キャスト関数はsql_data_type
パラメータで指定されたSQLデータ型の値を返します。cast(sql_expr AS JSON)
構文を使用する場合、キャスト関数はJSON値を返します。
使用上の注意
- SQLからJSONへの変換
- SQL値がJSONでサポートされている精度を超える場合、演算オーバーフローを防ぐために、キャスト関数は
NULL
を返します。 - SQL値が
NULL
の場合、キャスト関数はSQL値のNULL
をJSON値のNULL
に変換しません。返り値は依然としてSQL値のNULL
です。
- SQL値がJSONでサポートされている精度を超える場合、演算オーバーフローを防ぐために、キャスト関数は
- JSONからSQLへの変換
- キャスト関数は、互換性のあるJSONとSQLデータ型の間のみで変換をサポートしています。たとえば、JSON文字列をSQL文字列に変換することができます。
- キャスト関数は、互換性のないJSONとSQLデータ型の間の変換をサポートしていません。たとえば、JSON数値をSQL文字列に変換すると、関数は
NULL
を返します。 - 演算オーバーフローが発生した場合、キャスト関数はSQL値の
NULL
を返します。 - JSON値の
NULL
をSQL値に変換する場合、関数はSQL値のNULL
を返します。 - JSON文字列をVARCHAR値に変換する場合、関数はダブルクォート(")で囲まれていないVARCHAR値を返します。