如果你想从一个表达式中同时获取 `cancelReasonTypeName` 和 `cancelReasonCode`,可以使用 `json_extract_scalar()` 函数和 JSONPath 表达式来提取这两个值。假设你的表达式是 `cancel_reason`,它包含一个 JSON 数组,其中包含两个元素,你可以使用以下代码:
```sql
SELECT
json_extract_scalar(cancel_reason, '$[0].cancelReasonTypeName') AS reason_type_name,
json_extract_scalar(cancel_reason, '$[1].cancelReasonCode') AS reason_code
FROM my_table;
```
这里我们使用了 JSONPath 表达式 `$[0].cancelReasonTypeName` 来提取第一个元素中的 `cancelReasonTypeName` 值,以及 `$[1].cancelReasonCode` 来提取第二个元素中的 `cancelReasonCode` 值。请注意,JSONPath 表达式中的索引从 0 开始,因此 `$[0]` 表示第一个元素,而 `$[1]` 表示第二个元素。
如果 `cancel_reason` 中只有一个元素,则尝试获取第二个元素将返回 NULL 值。