sql语句(mysql中json_contains、json_array的使用)

1、用科大讯飞语音识别到的已经中文分词的文字,例:“我”“想”“销”“存单”
2、根据上面语音识别出来的多个关键字,在数据表中查找出包含上述四个关键字中任意若干个数据。

表中数据大概这样:

《sql语句(mysql中json_contains、json_array的使用)》 这里写图片描述

要从此表中匹配到包含上述四个关键字中的任意若干个,可这样:

SELECT * FROM nlu_define_table WHERE JSON_CONTAINS(JSON_ARRAY("我","想","销","存单"),keywords->'$.keywords') ORDER BY weights DESC;

即可搜索到数据

《sql语句(mysql中json_contains、json_array的使用)》 这里写图片描述

另附上部分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是等效的。。。

    原文作者:mysql
    原文地址: https://www.jianshu.com/p/16d80e3555f6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞