📜  mysql JSON_SEARCH LIKE - Javascript (1)

📅  最后修改于: 2023-12-03 15:03:04.823000             🧑  作者: Mango

MySQL中的JSON_SEARCH与LIKE操作符

简介

MySQL是一种广泛使用的关系型数据库管理系统,早期版本MySQL只支持传统的查询、插入、更新和删除等操作。但在5.7及以后的版本中,MySQL添加了对JSON格式数据的支持,这项功能使得开发人员能够更方便地存储和查询多层次的非结构化数据。

JSON_SEARCH是MySQL新增的一项JSON函数,用于在JSON文档中搜索指定的值,并返回该值所在的路径。而LIKE操作符则用于模糊匹配字符串。通过这两个功能的结合,我们可以更方便地搜索JSON格式的数据。

JSON_SEARCH函数

JSON_SEARCH函数会在一个JSON文档中搜索一个值,并返回路径。该函数的使用示例:

JSON_SEARCH(json_doc, one_or_all, search_str, escape_char, path)

参数说明:

  • json_doc:要搜索的JSON文档;
  • one_or_all:要搜索的匹配项个数,可以选择'one'或'all';
  • search_str:要搜索的字符串;
  • escape_char:转义字符;
  • path:搜索起始路径。
LIKE操作符

LIKE操作符用于模糊匹配字符串,可以使用通配符进行匹配。常用的通配符有'%'和'',其中'%'代表任意字符串,而''代表任意单个字符。例如,查询所有以'ab'开头的字符串:

SELECT * FROM table_name WHERE col_name LIKE 'ab%'
JSON_SEARCH与LIKE的结合使用

我们可以使用LIKE操作符进行模糊匹配,然后再用JSON_SEARCH函数查找匹配项所在的路径。示例代码:

SELECT JSON_SEARCH(json_doc, 'all', '%search_str%', NULL, '$**' ) as path
FROM table_name
WHERE col_name LIKE '%search_str%'

其中,search_str是要搜索的字符串,在此将其用%通配符包含,$**代表搜索的起始路径,可以为任意路径。

总结

JSON_SEARCH和LIKE操作符可以配合使用,方便地搜索JSON格式数据中的内容。开发人员可以根据查询需要,分别使用LIKE和JSON_SEARCH函数进行模糊匹配和JSON路径查找,实现更精确和高效的查询操作。

参考链接