需求:数据库表中有varchar类型的字段,其中存储的有json格式数据,也有普通文本数据。如果是json格式,需要提取出json中对应的键值对,否则取该字段值。
SQL语句:
SELECT if(json_valid(info), json_unquote(info->'$.name'), info) AS username FROM user;
示例数据:
执行结果:
测试MySQL版本:5.7.19
需求:数据库表中有varchar类型的字段,其中存储的有json格式数据,也有普通文本数据。如果是json格式,需要提取出json中对应的键值对,否则取该字段值。
SQL语句:
SELECT if(json_valid(info), json_unquote(info->'$.name'), info) AS username FROM user;
示例数据:
执行结果:
测试MySQL版本:5.7.19