MySQL 根据JSON类型的字段进行过滤数据的方式
第一种方式:JSON_CONTAINS 函数 ; 执行相等形式的比较 注意:值的类型一定要相同,不然会报错
文档地址:https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-contains
select JSON_CONTAINS('{"tagId": 18, "tagName": "广告", "tagType": "1", "valueType": "default"}', '18','$.tagId')
但是这种只能匹配单个值得,无法多值匹配
第二种方式: MEMBER OF 函数 ; 执行相等形式的比较 此方式无需在意类型的匹配
文档地址: https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#operator_member-of
SELECT 2 MEMBER OF(CONCAT('[',(select GROUP_CONCAT(n) FROM (SELECT 1 AS n union select 2) t),']'));
通过 MEMBER OF写得话,可以匹配多值,相当于IN查询
第三种方式:JSON表,这种方式可以适用于更复杂的场景,比如IN获取其他查询的方式; 大白话就是:声明JSON的结构,将JSON转换为一个临时表
文档地址:https://dev.mysql.com/doc/refman/8.0/en/json-table-functions.html#function_json-table
select * from JSON_TABLE('[ {"name":"小明","age":59} ]','$[*]' COLUMNS(name VARCHAR(200) PATH '$.name',age int PATH '$.age')) AS t
MySQL 根据JSON类型的字段进行过滤数据的方式的更多相关文章
- MySQL对JSON类型UTF-8编码导致中文乱码探讨
前言 继上文发表之后,结合评论意见并亲自验证最终发现是编码的问题,但是对于字符编码还是有点不解,于是乎,有了本文,我们来学习字符编码,在学习的过程中,我发现对于MySQL中JSON类型的编码导致数据中 ...
- MySQL中int类型的字段使用like查询方法
方法参考自: http://stackoverflow.com/questions/8422455/performing-a-like-comparison-on-an-int-field 也就是使用 ...
- 如何在含有json类型的字段上建立多列索引
废话不多,直接上图 如 : 表结构如图 那么我想在这三个字段上建立一个唯一索引,目的是为了防止重复插入数据, 1.首先,说明一下 data中的json中,key为 tagID 和 ...
- mysql为int类型的字段php取出来之后为何变为string类型?
https://segmentfault.com/q/1010000002957162 php从mysql取出int数据,变成了string https://blog.csdn.net/as17501 ...
- Mybatis和Mysql的Json类型
Mysql5.7新增加了Json类型字段,但是目前Mybatis中并不支持 1.新建MybatisJsonTypeHandler.java import com.fasterxml.jackson.a ...
- mysql数据库 批量替换 某字段中的数据
当数据库出现这种情况: 表名:area id name 1 太仓 2 太仓市 3 太仓市 ... ... 我需要把 name字段中 的太仓市 的“市“去掉 可以使用: update `area` ...
- MYSQL中批量替换某个字段的部分数据
1.修改字段里的所有含有指定字符串的文字 UPDATE 表A SET 字段B = replace(字段B, 'aaa', 'bbb') example: update table set url= ...
- 【mysql】字段支持JSON类型
mysql从5.7开始已经支持JSON类型的字段. 支持的操作:添加,修改,置空,子key添加,子key重置,子key删除,通过子key查找等. 但是这里和普通字段的修改和查找不同,涉及到一些JSON ...
- MySQL中的JSON类型
前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...
随机推荐
- Meterpreter后渗透阶段关闭防火墙与杀毒软件
- freeswitch的任务引擎实现分析
概述 freeswitch核心框架中有一个定时任务系统,在开发过程中用来做一些延时操作和异步操作很方便. 我们在VOIP的呼叫流程中,经常会有一些对实时性要求没那么高的操作,或者会有阻塞流程的操作,我 ...
- eclipse gradle创建java项目
参考: https://blog.csdn.net/weixin_33733810/article/details/92438913 一 : 需要在 https://gradle.org/releas ...
- [HITCON 2017]SSRFme
explode() 字符串转数组,用 ,号分隔数组 @mkdir() 创建目录 @chdir() 改变目录 这两的效果一样,如果在/home/php 目录下,执行mkdir('var') 和 ...
- 基于COCO数据集验证的目标检测算法天梯排行榜
基于COCO数据集验证的目标检测算法天梯排行榜 AP50 Rank Model box AP AP50 Paper Code Result Year Tags 1 SwinV2-G (HTC++) 6 ...
- tar包压缩时相对路径问题
一.问题描述 现在有一个需求,不知道该如何才能实现压缩: tar -czvf /home/futong/test/logs.tar.gz /home/futong/test/logs 打开压缩包发现 ...
- MySQL第四讲
昨日内容回顾 表与表之间建关系(外键) """ 表与表之间最多只有四种关系 一对多 多对多 一对一 没有关系 在确定表与表之间的关系的时候记住一句话 换位思考 " ...
- Go redis hash存储结构体
需求 需要存储用户数据到redis,结构是hash. 然后取出来,自动转成结构体. 结构体 type UserCache struct { Id int64 `json:"id"` ...
- LGP5437题解
呃怎么感觉很裸啊( 题意是让求生成树边权之和的期望,那么我们只需要算出所有生成树的边权之和除以生成树边数即可. 由于是求和,我们只需要计算出每条边对答案的贡献即可. 我们知道一个完全图有 \(n^{n ...
- info sharp Are you trying to install as a root or sudo user? Try again with the --unsafe-perm flag
执行 npm install 编译出错,提示 ERR! sharp EACCES: permission denied, mkdir '/root/.npm' info sharp Are you t ...