文档地址JSON_EXTRACT - MariaDB Knowledge Base
//创建临时表
create temporary table if not EXISTS testab(
namm VARCHAR(200)
);
//插入数据
INSERT into testab values('{"name":"1234"}');
INSERT into testab values('[{"name":"1234"},{"name":"12345"},{"name":"1238"}]');
//查询全部数据
select * from testab;
//查询JSON数据
select * from testab where JSON_EXTRACT(namm,'$.name')="123";


使用JSON_UNQUOTE这个函数可以将返回值变成不包含""号的值
select JSON_UNQUOTE(JSON_EXTRACT(namm,'$.name')) as test1 from testab ;
查询数组使用
select * from testab where JSON_EXTRACT(namm,'$[*].name')="123";
pc:*号必须是数字 例如数组下标 0,1,2,3,4
JSON_CONTAINS 判断json数组字符串匹配规则
SELECT
*
FROM
a sce
INNER JOIN b die
WHERE
JSON_CONTAINS( sce.auuid, JSON_QUOTE( die.uuid ) )
其中sce.auuid 为一个json数组字符串,json_quote为将die.uuid的值改为携带双引号的字符串,json_contains为将sce.auuid中的json内容去匹配die.uuid,得到最终结果
官网:官方文档说明
这篇博客介绍了如何在MariaDB中使用临时表、JSON_EXTRACT、JSON_UNQUOTE和JSON_CONTAINS等函数进行数据操作和查询。通过示例展示了如何插入、查询包含JSON的数据,并利用这些函数从JSON字段中提取特定值,以及在数组中进行匹配。同时,解释了如何在查询中结合使用这些函数来过滤和获取所需信息。
1967

被折叠的 条评论
为什么被折叠?



