当前位置: 首页 > news >正文

MySQL解析JSON格式字段并取出部分值的方式

在MySQL中,从JSON格式的字段中提取数据可以使用JSON_EXTRACT()函数,或者使用->操作符。

假设你有一个名为mytable的表,其中有一个json_data字段,它的数据类型是JSON,并且包含了一个JSON对象。

{"name": "John Doe","age": 30,"email": "john.doe@example.com","address": {"street": "123 Main St","city": "Anytown","state": "CA","zip": "90210"}
}

你可以使用以下方法来提取nameageemail等字段:

1.使用JSON_EXTRACT()函数:

SELECT JSON_EXTRACT(json_data, '$.name') as name,JSON_EXTRACT(json_data, '$.age') as age,JSON_EXTRACT(json_data, '$.email') as email
FROM mytable;

2.使用->操作符(这是JSON_EXTRACT()的简化形式):

SELECT json_data->'$.name' as name,json_data->'$.age' as age,json_data->'$.email' as email
FROM mytable;

如果你想要提取嵌套的address对象中的字段,例如street,你可以这样做:

1.使用JSON_EXTRACT()函数:

SELECT JSON_EXTRACT(json_data, '$.address.street') as street
FROM mytable;

2.使用->>操作符(这是JSON_UNQUOTE(JSON_EXTRACT())的简化形式,用于去除结果中的引号):

SELECT json_data->>'$.address.street' as street
FROM mytable;

请注意,->>操作符会自动将提取的JSON值转换为字符串,并去除引号。

如果你使用->操作符,结果将是一个JSON格式的字符串,包括引号。

http://www.jsqmd.com/news/27867/

相关文章:

  • 【详细介绍】一种基于斜二进制的序列树上数据结构
  • drm分析
  • 8、认识for循环
  • node.js安装搭建
  • 102302156 李子贤 数据采集第二次作业
  • 2025年储能线束生产厂家排名:众晟强电子领先
  • SVD分解及其应用
  • 2025年工业线束生产厂家排名前十强,东莞众晟强电子引领行业创新
  • 完整教程:【C语言数据结构】第2章:线性表(1)--定义ADT
  • 【论道】前端动画总结
  • 软件构建,藏在细节里的“工程思维”
  • 从“会编码”到“懂开发”,一场开发者的认知升级
  • Mac版4K Video Downloader Plus Pro v1.5.2安装教程|dmg文件下载后拖拽到应用程序教程
  • 把coarse粗调音高转换成频率的数学公式
  • 思科vManage漏洞分析:四漏洞链实现未授权远程代码执行
  • Java流程控制练习——打印三角形及debug调试
  • CH585驱动CH271播放音频
  • 10.31 —— (VP)2023icpc济南
  • MIM + PEFT + MLP + Q
  • 《程序员修炼之道 - 从小工到专家》阅读笔记2
  • 《程序员修炼之道 - 从小工到专家》阅读笔记3
  • 《程序员修炼之道 - 从小工到专家》阅读笔记1
  • Java流程控制——break,continue,goto
  • 读《代码大全2》第三部分有感
  • A History of Large Language Models阅读心得(1)
  • 20232324 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • 【Python 基础】第 2 期:环境搭建
  • revit api 对话框taskdialog 和maindialog
  • YOLO算法原理详解系列 第001期-YOLOv1 算法原理详解 - 实践
  • revit api structure type判断