JSON_CONTAINS
功能描述
JSON_CONTAINS函数用于判断属性值是否存在。
根据target json是否包含candidate json返回t或f,返回t时表示属性值存在,返回f时表示不存在。
注意事项
- 该功能仅在数据库兼容模式为MySQL时能够使用(即创建DB时DBCOMPATIBILITY='B'),在其他数据库兼容模式下不能使用该特性。
- 该功能仅在V2.2 Build 10 (Patch No.13)及以后版本支持。
- 如果任何参数是NULL或者path没有指向target json的任何一部分,则返回NULL。
- 当json_doc或path参数不符合对应类型时,或者path中含有*或**通配符时,函数执行报错。
- 标量json(非数组json元素,非复合json对象)当且仅当它们是可以比较且比较结果为相等时是包含的;只有相同JSON TYPE的标量可以比较 (INTERGER和DECIMAL例外,它们可以互相比较)。
- 一个candidate json数组被包含在target json数组是指:当且仅当每一个candidate元素被包含在target的某些元素中。
- 一个candidate非json数组 被包含在target json数组是指:当且仅当该candidate被包含在target数组的某些元素中。
- 一个candidate对象被包含在一个target对象是指:当且仅当对于candidate每个键,在target中都有相同名字的键,并且两个键所对应的值满足candidate值被包含在target值中。
语法格式
json_contains(target json, candidate json [, path jsonpath])
参数说明
target
被查找的json。
candidate
查找的json。
path
负责指定target中特定的查找路径,默认为空。