mysql 根据json数据字段查询 显示json字段内容

名称 描述
-> 评估路径后从JSON列返回值;等效于JSON_EXTRACT()。
->> (介绍5.7.13)
JSON_APPEND() (已弃用) 将数据附加到JSON文档
JSON_ARRAY() 创建JSON数组
JSON_ARRAY_APPEND() 将数据附加到JSON文档
JSON_ARRAY_INSERT() 插入JSON数组
JSON_CONTAINS() JSON文档是否在路径中包含特定对象
JSON_CONTAINS_PATH() JSON文档是否在路径中包含任何数据
JSON_DEPTH() JSON文档的最大深度
JSON_EXTRACT() 从JSON文档返回数据
JSON_INSERT() 将数据插入JSON文档
JSON_KEYS() JSON文档中的键数组
JSON_LENGTH() JSON文档中的元素数
JSON_MERGE() (不建议使用5.7.22) 合并JSON文档,保留重复的键。JSON_MERGE_PRESERVE()的已弃用同义词
JSON_MERGE_PATCH() (介绍5.7.22) 合并JSON文档,替换重复键的值
JSON_MERGE_PRESERVE() (介绍5.7.22) 合并JSON文档,保留重复的键
JSON_OBJECT() 创建JSON对象
JSON_PRETTY() (介绍5.7.22) 以易于阅读的格式打印JSON文档
JSON_QUOTE() 引用JSON文档
JSON_REMOVE() 从JSON文档中删除数据
JSON_REPLACE() 替换JSON文档中的值
JSON_SEARCH() JSON文档中值的路径
JSON_SET() 将数据插入JSON文档
JSON_STORAGE_SIZE() (介绍5.7.22) 用于存储JSON文档的二进制表示形式的空间
JSON_TYPE() JSON值类型
JSON_UNQUOTE() 取消引用JSON值
JSON_VALID() JSON值是否有效

MySQL 5.7.22和更高版本支持两个聚合JSON函数 JSON_ARRAYAGG()和 JSON_OBJECTAGG()。

用到的示例

# 插入数据
insert into testTable (jsonField) values ('{"one":1,"two":{"id":2}}');

# 查询数据
//一维
select id, json_extract(jsonField,'$.one') as one from testTable where json_extract(jsonField,'$.one') = 1
//二维
select id, json_extract(jsonField,'$.two.id') as two from testTable where json_extract(jsonField,'$.two.id') = 2


SELECT
	g.title AS "商品名称",
	g.subtitle AS "副标题",
	g.maidian AS "商品卖点",
	g.keywords AS "关键字",
	g.marketprice AS "零售价",
	g.goodssn AS "唯一编码",
	g.weight AS "重量",
CASE
	WHEN json_valid ( g.discounts ) THEN
	json_extract ( g.discounts, '$.default_pay' ) ELSE NULL 
	END AS "普通会员价",
CASE
	WHEN json_valid ( g.discounts ) THEN
	json_extract ( g.discounts, '$.level9_pay' ) ELSE NULL 
	END AS "专营店价",
CASE
	WHEN json_valid ( g.discounts ) THEN
	json_extract ( g.discounts, '$.level8_pay' ) ELSE NULL 
	END AS "VIP会员价",
CASE
	WHEN json_valid ( g.discounts ) THEN
	json_extract ( g.discounts, '$.level7_pay' ) ELSE NULL 
	END AS "股东价"
FROM
	ims_ewei_shop_goods g 
WHERE
	g.pcate = 2 
	AND g.deleted = 0 
AND ( g.discounts <> '' OR g.discounts IS NOT NULL )

更多参考
MySQL 5.7参考手册:https://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html

posted on   何苦->  阅读(3559)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示