mysql对json后的值进行查询

MySQL5.7以上支持JSON的操作,以及增加了JSON存储类型
一般数据库存储JSON类型的数据会用JSON类型或者TEXT类型

注意:用JSON类型的话
1)JSON列存储的必须是JSON格式数据,否则会报错。
2)JSON数据类型是没有默认值的。

mysql对json后的值进行查询

下面是对remark进行了json并保存

select * from contact_list where json_extract(remark,"$") = 'json之前的值'
使用 字段->'$.json属性' 进行查询条件
使用 json_extract 函数查询,json_extract(字段, "$.json属性")
根据json数组查询,用 JSON_CONTAINS(字段, JSON_OBJECT('json属性', "内容"))

 

 通过以下语句就可以通过key,value来进行查询了,如果多个条件,正常加 and 就可以了。

SELECT * FROM core_process where Form_Value_ -> '$.attendancer' = '马立新'

如果是Mybatis框架,要把 > 符号转义,像这样用 <![CDATA[ ]]>

<![CDATA[   Form_Value_ -> '$.endDate' < #{endDate,jdbcType=VARCHAR}    ]]>

 

另外:

mysql 查询 json数组

select * from '表名' where JSON_CONTAINS('存储json数组的字段',JSON_OBJECT('要查询的字段','要查询的值'))

 

posted @ 2022-07-17 14:35  study_php_java_C++  阅读(821)  评论(0编辑  收藏  举报