mysql查询整个json中具体某个字段的数据

本文介绍了如何利用MySQL查询JSON格式数据中的特定字段。通过示例展示了查询JSON字段`msg_content`中的值,并且讲解了当字段为JSON数组时,如何获取`detail`数组下所有`stage`的值,包括通过索引定位数组元素的方法。
摘要由CSDN通过智能技术生成

最近发现mysql强大的功能,可以直接查询出整个json中具体某个值的数据:
json对应的字段内容是这样的:
msg_content对应的内容就是json字段:

{
   
    "fileName":"测非编1.mp4",
    "filePath":"/mnt/windows/folderscan/uploadAndTask/91/测非编1.mp4",
    "taskName":"截取首帧失败",
    "taskFailStage":"1"
}

原始数据是这样的:
在这里插入图片描述

 SELECT
	id,
	msg_code AS msgCode,
	read_flag AS readFlag,
	msg_content ->> '$.mediaId' as mediaId,
	msg_content ->> '$.fileName' as fileName,
	msg_content ->> '$.taskName' as taskName,
	msg_content ->> '$.filePath' as filePath
FROM
	notice_msg
WHERE
	receive_user_id = '79'

拆分开查询后的结果是这样:
在这里插入图片描述
当字段为json数组的时候:

[
    {
   
        "time": 1594034025178,
        "stage"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值