如何使用查询检查mysql的json数据类型中的“knownlanguages”键是否包含value =“English”

时间:2016-12-16 14:58:07

标签: mysql mysql-5.7

{
  "Actor": {
    "knownlanguages": [
      "English"
    ]
  }
}

此JSON存储在MySQL的JSON columntype中,名称为data

我的问题是如何使用查询从MySQL的JSON数据类型检查knownlanguages键是否包含值English

2 个答案:

答案 0 :(得分:0)

简单:

SELECT * FROM table WHERE JSON_CONTAINS(json, '"English"', "$.Actor.knownlanguages")

或(取决于你必须做的事情):

SELECT JSON_CONTAINS(json, '"English"', "$.Actor.knownlanguages") FROM table

参考:https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html

答案 1 :(得分:-1)

您可以将like关键字与通配符%

一起使用
SELECT * FROM table where data like "%English%"

注意:

这不会在JSON字段knownlanguages中搜索,而是在列data

中搜索