mysql json 数组怎么搜索

在MySQL中,可以使用JSON_CONTAINS函数来搜索JSON数组中的元素。这里有一个简单的例子:

假设有一个名为items的表,其中有一个名为attributes的列,包含JSON数组。

bash 复制代码
CREATE TABLE items (
    id INT AUTO_INCREMENT PRIMARY KEY,
    attributes JSON
);


INSERT INTO items (attributes) VALUES
('["apple", "banana", "cherry"]'),
('["banana", "cherry", "date"]'),
('["apple", "banana", "date"]');

如果你想要搜索包含"banana"的attributes,可以使用以下查询:

bash 复制代码
SELECT * FROM items
WHERE JSON_CONTAINS(attributes, JSON_OBJECT('key', 'banana'));

JSON数组

bash 复制代码
INSERT INTO items (attributes) VALUES
('[1, 2, 3]'),
('[1, 104, 101]'),
('[102, 101, 202]');

如果要查询包含 101 这个数字的 attributes

bash 复制代码
SELECT * FROM `items` 
WHERE JSON_CONTAINS(`attributes`, CAST(101 AS JSON))
相关推荐
啦啦啦_99994 分钟前
1. MySQL
数据库·mysql·oracle
随风,奔跑8 分钟前
MySQL性能调优
数据库·mysql·oracle
QH1392923188010 分钟前
是德科技KEYSIGHT N5183B 9 kHz~40 GHz微波模拟信号发生器
网络·数据库·科技·嵌入式硬件·集成测试
暗暗别做白日梦14 分钟前
Redisson 延迟队列实现订单支付超时自动取消(源码 + 原理全解)
数据库·redis
数厘16 分钟前
2.13 sql数据更新(UPDATE)
数据库·sql·oracle
一江寒逸19 分钟前
零基础从入门到精通MongoDB(附加篇):面试八股文全集
数据库·mongodb·面试
组合缺一20 分钟前
Snack JSONPath 项目架构分析
java·架构·json·jsonpath·rfc 9535
星晨雪海23 分钟前
Redis 分布式 ID 生成器
数据库·redis·分布式
有味道的男人30 分钟前
抖音关键词搜索,视频详情api
linux·数据库·音视频
丁丁点灯o31 分钟前
Oracle中金额数字转换为大写汉字
数据库·oracle