You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条MariaDB查询移除冗余JSON文本并保留指定字段数值

提取JSON长文本字段指定值的SQL实现

针对你的需求——从存储为longtext类型的JSON字段中提取targetted_id_position的值,同时移除冗余JSON结构,这里分两种常用场景给出单条SQL方案:

1. 仅查询提取目标值(不修改原表)

如果只是需要获取targetted_id_position的内容,不需要改动原数据,用以下SQL即可(MySQL 5.7+支持):

SELECT 
  data->>'$.targetted_id_position' AS targetted_id_position
FROM 
  your_table_name;

->>是JSON_UNQUOTE(JSON_EXTRACT())的简写,能直接提取不带引号的纯文本值。

2. 更新原表,替换data列内容

如果需要直接把原表的data列替换为targetted_id_position的数值(移除整个JSON结构),执行这条UPDATE语句:

UPDATE 
  your_table_name
SET 
  data = data->>'$.targetted_id_position';

注意事项

  • 确保数据库版本支持JSON函数:MySQL 5.7及以上版本原生支持这些JSON操作,低版本可能需要用字符串截取函数(比如SUBSTRING_INDEX),但这种方式对结构不固定的JSON可靠性差。
  • 空值处理:如果targetted_id_position是空字符串(如你的示例),更新后data列会变为空字符串,符合预期。
  • 操作前验证:建议先通过SELECT语句确认提取结果正确,再执行UPDATE,避免误改数据。

内容的提问来源于stack exchange,提问作者slvhxia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:35:20