CAN_JSON_PARSE 関数 - Amazon Redshift

CAN_JSON_PARSE 関数

CAN_JSON_PARSE 関数は JSON 形式でデータを解析し、JSON_PARSE 関数を使用して結果を SUPER 値に変換できる場合は true を返します。

構文

CAN_JSON_PARSE( {json_string | binary_value} )

引数

json_string

シリアル化された JSON を VARCHAR 形式で返す式。

binary_value

VARBYTE データ型のバイナリ値。

戻り型

BOOLEAN

使用に関する注意事項

  • CAN_JSON_PARSE は空の文字列に対して false を返します。入力引数が null の場合は、NULL を返します。

次の例は、CASE 条件を使用して適切に形成された JSON 配列に対する CAN_JSON_PARSE の実行を示しています。これは true を返すため、Amazon Redshift はサンプル値に対して JSON_PARSE 関数を実行します。

SELECT CASE WHEN CAN_JSON_PARSE('[10001,10002,"abc"]') THEN JSON_PARSE('[10001,10002,"abc"]') END; case --------------------- '[10001,10002,"abc"]'

次の例は、CASE 条件を使用して JSON 形式ではない値に対する CAN_JSON_PARSE の実行を示しています。これは false を返すため、Amazon Redshift は代わりに CASE 条件の ELSE 句でセグメントを返します。

SELECT CASE WHEN CAN_JSON_PARSE('This is a string.') THEN JSON_PARSE('This is a string.') ELSE 'This is not JSON.' END; case --------------------- "This is not JSON."