码迷,mamicode.com
首页 > 数据库 > 详细

Mysql 中 JSON_CONTAINS、JSON_ARRAY 的使用

时间:2018-11-10 20:09:56      阅读:8487      评论:0      收藏:0      [点我收藏+]

标签:sql   article   path   中文   包含   define   讯飞语音   log   .net   

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_CONTAINS、JSON_ARRAY 的使用

标签:sql   article   path   中文   包含   define   讯飞语音   log   .net   

原文地址:https://www.cnblogs.com/cearnach/p/9940277.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!