Mysql 中 JSON_CONTAINSJSON_ARRAY 的使用
Posted 阮胜的个人博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 中 JSON_CONTAINSJSON_ARRAY 的使用相关的知识,希望对你有一定的参考价值。
基本语法:https://www.cnblogs.com/ooo0/p/9309277.html
JSON_CONTAINS(json_doc, val[, path]) // 判断是否包含某个json值
JSON_ARRAY([val[, val] ...]) 创建json数组
1、用科大讯飞语音识别到的已经中文分词的文字,例:“我”“想”“销”“存单”
2、根据上面语音识别出来的多个关键字,在数据表中查找出包含上述四个关键字中任意若干个数据。
表中数据大概这样:
要从此表中匹配到包含上述四个关键字中的任意若干个,可这样:
SELECT * FROM nlu_define_table WHERE JSON_CONTAINS(JSON_ARRAY("我","想","销","存单"),keywords->\'$.keywords\') ORDER BY weights DESC;
即可搜索到数据
另附上部分sql,以防之后忘记
SELECT * FROM nlu_define_table; SELECT * FROM nlu_define_table WHERE keywords LIKE "%销%"; SELECT * FROM nlu_define_table WHERE JSON_EXTRACT(keywords,\'$.keywords\') LIKE "%销%"; SELECT * FROM nlu_define_table WHERE keywords -> \'$.keywords\' LIKE "%销%";
其中第三条sql和第四条sql是等效的(但是如果是数字的话 就不行了 ,例如 里面有 1,11 这样的 , 匹配结果就不是正确的了)。。。
转自:https://blog.csdn.net/qq_35952946/article/details/79131488
以上是关于Mysql 中 JSON_CONTAINSJSON_ARRAY 的使用的主要内容,如果未能解决你的问题,请参考以下文章