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

VARCHAR 形式返回序列化 JSON 的表达式。

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."