首页 > 解决方案 > 如何从具有部分Json数组值并保留字符串值的mysql表的列中提取值

问题描述

mysql表的示例图片

这 3 列的名称是 Date、TargetName、Amount。TargetName 列的部分行包含 json 数组值,其余行包含字符串。

我想从 json 数组中提取 value[0]。像 [case when (targetName is Json type) Then $.value[0] else targetName] 这样的条件如何应用这个条件并得到预期的结果?

预期结果:目标名称

SSC速记员

UP警察副督察

上扬JE

AAI JE 技术

ACC考试

标签: mysqlstringjson-extract

解决方案


SELECT CASE WHEN JSON_VALID(TargetName)
            THEN TargetName ->> "$[0].value"
            ELSE TargetName
            END AS TargetName ,
       ...

推荐阅读