第一种方式: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类型的字段进行过滤数据的方式的更多相关文章

  1. MySQL对JSON类型UTF-8编码导致中文乱码探讨

    前言 继上文发表之后,结合评论意见并亲自验证最终发现是编码的问题,但是对于字符编码还是有点不解,于是乎,有了本文,我们来学习字符编码,在学习的过程中,我发现对于MySQL中JSON类型的编码导致数据中 ...

  2. MySQL中int类型的字段使用like查询方法

    方法参考自: http://stackoverflow.com/questions/8422455/performing-a-like-comparison-on-an-int-field 也就是使用 ...

  3. 如何在含有json类型的字段上建立多列索引

    废话不多,直接上图 如 : 表结构如图           那么我想在这三个字段上建立一个唯一索引,目的是为了防止重复插入数据, 1.首先,说明一下 data中的json中,key为 tagID 和 ...

  4. mysql为int类型的字段php取出来之后为何变为string类型?

    https://segmentfault.com/q/1010000002957162 php从mysql取出int数据,变成了string https://blog.csdn.net/as17501 ...

  5. Mybatis和Mysql的Json类型

    Mysql5.7新增加了Json类型字段,但是目前Mybatis中并不支持 1.新建MybatisJsonTypeHandler.java import com.fasterxml.jackson.a ...

  6. mysql数据库 批量替换 某字段中的数据

    当数据库出现这种情况: 表名:area id name 1  太仓 2  太仓市 3  太仓市 ... ... 我需要把 name字段中 的太仓市 的“市“去掉 可以使用: update `area` ...

  7. MYSQL中批量替换某个字段的部分数据

    1.修改字段里的所有含有指定字符串的文字 UPDATE 表A SET 字段B = replace(字段B, 'aaa', 'bbb') example: update  table set url= ...

  8. 【mysql】字段支持JSON类型

    mysql从5.7开始已经支持JSON类型的字段. 支持的操作:添加,修改,置空,子key添加,子key重置,子key删除,通过子key查找等. 但是这里和普通字段的修改和查找不同,涉及到一些JSON ...

  9. MySQL中的JSON类型

    前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...

随机推荐

  1. CSS代码示例-背景属性(background)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 干掉Session?这个跨域认证解决方案真的优雅!

    用户登录认证是 Web 应用中非常常见的一个业务,一般的流程是这样的: 客户端向服务器端发送用户名和密码 服务器端验证通过后,在当前会话(session)中保存相关数据,比如说登录时间.登录 IP 等 ...

  3. jmeter分布式导致重复登录的问题、以及写txt、csv、统计行数

    经常收到微信好友的各种问题咨询,今天分享一个比较有代表性的,希望对大家有所帮助. 一位微信好友的提问 问题如下: 问题分析 先简单介绍下服务端的处理逻辑,关于登录,服务端的逻辑一般是:校验用户名.密码 ...

  4. 关于GDPR的六大理解

    通用数据保护条例(GDPR)于2018年5月生效,根据法律条文,英国几乎所有企业都需要遵守该规定.然而,人们对法规本身及其对组织的意义仍存在一些误解.这可能会导致一些错误的决定. 通用数据保护条例(G ...

  5. 【windows 操作系统】进程间通信(IPC)简述|无名管道和命名管道 消息队列、信号量、共享存储、Socket、Streams等

    一.进程间通信简述 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进 ...

  6. Visual Studio 的快捷不能用时候,我们只要选择重置就可以用了。

    当发现Visual Studio 的快捷不能用时候,我们只要选择重置就可以用了.

  7. 递归Recursion

    从开始自学写代码开始,就感觉递归是个特别美丽的算法. "如果使用循环,程序的性能可能更高:如果使用递归,程序可能更容易理解.如何选择要看什么对你来说更重要." 编写递归函数时,必须 ...

  8. WPS:从某一页开始编号,并且奇数页偶数页页眉页脚的页码位置不同

    1.开始页的页眉页脚同时取消勾选"同前页" 此后,这一页就是以后所有页的第一页了 2.删去开始页之前所有的页眉页脚 3.页眉页脚选项中,设置奇偶页不同,其它都不用设置

  9. Go select 死锁引发的思考

    Go select 死锁引发的思考 https://mp.weixin.qq.com/s/Ov1FvLsLfSaY8GNzfjfMbg一文引发的延续思考 上文总结 总结一 package main i ...

  10. Go之Logrus用法入门

    Go之Logrus用法入门 Logrus是Go (golang)的结构化日志程序,完全兼容标准库的API日志程序. Logrus is a structured logger for Go (gola ...