在MySQL中,JSON_SEARCH
函数用于在JSON数据中搜索指定的值,并返回该值在JSON中的路径。
其语法如下:
JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, wildcard_char[, path] ] ])
参数说明:
json_doc
:要搜索的JSON文档one_or_all
:指定搜索的方式,可以是'one'
(只搜索第一个匹配项)或'all'
(搜索所有匹配项)search_str
:要搜索的值escape_char
:用于转义特殊字符的转义字符,默认为反斜杠\
wildcard_char
:用于通配符匹配的通配符,默认为*
path
:指定在JSON中搜索的路径,默认为NULL
示例: 假设有如下JSON数据:
{"name": "John", "age": 30, "address": {"city": "New York", "zip": "10001"}}
可以使用JSON_SEARCH
函数来搜索"New York"
:
SELECT JSON_SEARCH('{"name": "John", "age": 30, "address": {"city": "New York", "zip": "10001"}}', 'one', 'New York');
该查询会返回"$.address.city"
,表示在JSON中找到了"New York"
,并且它的路径为"$.address.city"
。