首页 > 解决方案 > 当并非所有行都包含 JSON 时,JSON_EXTRACT 不起作用

问题描述

我正在尝试运行 JSON EXTRACT 但收到以下错误:

数据截断:函数 json_extract 的参数 1 中的 JSON 文本无效:“文档为空。” 在位置 0。

select id, JSON_EXTRACT(content, "$.pathway_id") from reports

标签: mysql

解决方案


您可以通过使用 JSON_VALID 确保字段包含 JSON 来防止此错误,如下所示:

select id, CASE WHEN JSON_VALID(content) THEN JSON_EXTRACT(content, "$.pathway_id") ELSE null END from reports

推荐阅读