`json_extract_scalar()` 函数用于从 JSON 字符串中提取标量值,而 `json_array_get()` 函数用于获取 JSON 数组中指定索引位置的元素。因此,如果你想要从 JSON 字符串中提取两个数据,可以使用以下代码:
```sql
SELECT
json_extract_scalar(json_array_get(cancel_reason,0), '$.cancelReasonTypeName') AS reason_type_name,
json_extract_scalar(json_array_get(cancel_reason,1), '$.cancelReasonCode') AS reason_code
FROM my_table;
```
这里假设 `cancel_reason` 是一个 JSON 数组,其中包含两个元素。我们首先使用 `json_array_get(cancel_reason,0)` 获取第一个元素,然后使用 `json_extract_scalar()` 函数从中提取 `cancelReasonTypeName` 的值。接下来,我们使用 `json_array_get(cancel_reason,1)` 获取第二个元素,并使用 `json_extract_scalar()` 函数从中提取 `cancelReasonCode` 的值。
请注意,如果 `cancel_reason` 中只有一个元素,则尝试获取第二个元素将返回 NULL 值。