mysql 数据库,某个字段是json类型,验证json里的某个字段的值


查询数据库中某个字段是json类型里某个具体字段的值:

select * from table where  json字段名 -> '$.json里的字段名' >= 0.3

例如:

数据库中某字段是json类型,并且json里有数组格式的数据,需要查询

data
{'age': ["AGE_BETWEEN_24_30", "AGE_BETWEEN_31_40"]}
{'age': ["AGE_BETWEEN_24_30"]}
{'age': []}

json里的字段有数组类型,查询数组是空的数据

select * from table  where   json字段名 -> '$.json里的字段名' like '[]' 

json里的字段有数组类型,查询数组是具体值的数据

select * from table  where   json字段名 -> '$.json里的字段名' like '["AGE_BETWEEN_24_30", "AGE_BETWEEN_31_40"]' 

json里的字段有数组类型,查询数组不是具体值的数据

select * from table  where   json字段名 -> '$.json里的字段名'  not  like '["AGE_BETWEEN_24_30", "AGE_BETWEEN_31_40"]' 

json里的值某个字段缺失,查询所有json里不包含这个字段的数据

select * from table  where   json字段名 -> '$.json里的字段名' is null