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