mysql8.0 JSON_CONTAINS的使用说明

 更新时间:2022年07月05日 09:51:07   作者:香草天空Sky  
这篇文章主要介绍了mysql8.0 JSON_CONTAINS的使用说明,具有很好的参考价值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

JSON_CONTAINS的使用

语法

JSON_CONTAINS(json_doc, val[, path])

案例

select * from tb
    where info->'$.name' = '特价促销'  or JSON_CONTAINS(info->'$[*].name', '"特价促销"', '$')
SET @json = '{"A": 0, "B": {"C": 1}, "D": 2}';
 
SELECT JSON_CONTAINS(@json, '2', '$.A');
+----------------------------------+
| JSON_CONTAINS(@json, '2', '$.A') |
+----------------------------------+
|                                0 |
+----------------------------------+
 
SELECT JSON_CONTAINS(@json, '2', '$.D');
+----------------------------------+
| JSON_CONTAINS(@json, '2', '$.D') |
+----------------------------------+
|                                1 |
+----------------------------------+
 
SELECT JSON_CONTAINS(@json, '{"C": 1}', '$.A');
+-----------------------------------------+
| JSON_CONTAINS(@json, '{"C": 1}', '$.A') |
+-----------------------------------------+
|                                       0 |
+-----------------------------------------+
 
SELECT JSON_CONTAINS(@json, '{"C": 1}', '$.B');
+-----------------------------------------+
| JSON_CONTAINS(@json, '{"C": 1}', '$.B') |
+-----------------------------------------+
|                                       1 |
+-----------------------------------------+

JSON_CONTAINS函数问题

mysql 存的是[14,15]这种数据结构 查询的解决办法

结构如下

学生类:

@Column(value = "subject_ids", type = MySqlTypeConstant.TEXT)
@ColumnComment(value = "科目。可多选,格式如[1,2,3]")
private List<Long> subjectIds;

数据库类型:text

mysql 存储类型: [14,15]

这个时候根据科目ID去查询有那些学生选择了14这个科目得时候就不能用in这个语法了

这个时候就可以使用

SELECT * FROM `t_student` where  JSON_CONTAINS(subject_ids, '14')

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL内部临时表的具体使用

    MySQL内部临时表的具体使用

    MySQL临时表在很多场景中都会用到,比如用户自己创建的临时表用于保存临时数据,以及MySQL内部在执行复杂SQL时,需要借助临时表进行分组、排序、去重等操作,本文就来详细的介绍一下MySQL内部临时表
    2021-10-10
  • MySQL字符串索引更合理的创建规则讨论

    MySQL字符串索引更合理的创建规则讨论

    这篇文章主要给大家介绍了关于MySQL字符串索引更合理的创建规则,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • MySQL判别InnoDB表是独立表空间还是共享表空间的方法详解

    MySQL判别InnoDB表是独立表空间还是共享表空间的方法详解

    这篇文章主要给大家介绍了关于MySQL判别InnoDB表是独立表空间还是共享表空间的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-09-09
  • MySQL数据库常见字段类型长度汇总大全

    MySQL数据库常见字段类型长度汇总大全

    这篇文章主要给大家介绍了关于MySQL数据库常见字段类型长度汇总大全的相关资料,需要的朋友可以参考下
    2024-05-05
  • MySQL 整表加密解决方案 keyring_file详解

    MySQL 整表加密解决方案 keyring_file详解

    这篇文章主要介绍了MySQL 整表加密解决方案 keyring_file详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 详解MySQL语句中的DDL

    详解MySQL语句中的DDL

    这篇文章主要详细介绍了SQL语句中的DDL,文章中有详细的代码示例以及图文介绍,对我们的学习或工作有一定的帮助,感兴趣的同学可以参考阅读
    2023-06-06
  • mysql 批量修复

    mysql 批量修复

    这篇文章主要介绍了mysql 批量修复,需要的朋友可以参考下
    2016-05-05
  • Mysql InnoDB引擎的索引与存储结构详解

    Mysql InnoDB引擎的索引与存储结构详解

    这篇文章主要给大家介绍了Mysql InnoDB引擎的索引与存储结构的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2019-01-01
  • MySQL数据库存储引擎的应用

    MySQL数据库存储引擎的应用

    存储引擎是MySQL将数据存储在文件系统中的存储方式,本文主要介绍了MySQL数据库的存储引擎的应用,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Windows系统下MySQL忘记root密码的2种解决办法

    Windows系统下MySQL忘记root密码的2种解决办法

    这篇文章主要介绍了Windows系统下MySQL忘记root密码的2种解决办法,一种是通过启动MySQL时跳过权限表验证,然后重置密码,另一种是创建一个包含新密码的文本文件,并通过MySQL的--init-file选项来应用该文件中的密码设置,需要的朋友可以参考下
    2024-11-11

最新评论