Mysql中JSON_CONTAINS、JSON_ARRAY的使⽤基本语法:
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;即可搜索到数据define的基本用法
另附上部分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 这样的 , 匹配结果
就不是正确的了)。。。转⾃:blog.csdn/qq_35952946/article/details/79131488

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。