mysql - 当并非所有行都包含 JSON 时,JSON_EXTRACT 不起作用
问题描述
我正在尝试运行 JSON EXTRACT 但收到以下错误:
数据截断:函数 json_extract 的参数 1 中的 JSON 文本无效:“文档为空。” 在位置 0。
select id, JSON_EXTRACT(content, "$.pathway_id") from reports
解决方案
您可以通过使用 JSON_VALID 确保字段包含 JSON 来防止此错误,如下所示:
select id, CASE WHEN JSON_VALID(content) THEN JSON_EXTRACT(content, "$.pathway_id") ELSE null END from reports
推荐阅读
- json - 根据 shell 脚本中的字符串匹配从 JSON 数组中删除元素
- google-cloud-sql - 如何编辑和减小 gcloud SQL 实例大小(ssd 存储)
- python - 将列表字典分离为列和值
- javascript - 从 JSON 文件中获取元素属性并在 jQuery 函数中创建它们
- java - 在 spring-data-jpa 中使用 PagingAndSortingRepository 获取所有记录
- python - Python字典键更改
- python - 如何加快 django 开发 - 代码重载
- reactjs - 在深度嵌套的 Redux 存储中添加/替换对象
- android - 通过 WebView 阅读在线 pdf 并水平滑动
- python - python logging-日志记录数错误