mysql json_extract
2025-06-18 12:01
网友投稿
`json_extract()` 是 MySQL 中用于从 JSON 列中提取值的函数。该函数允许您查询存储在 JSON 数据列中的特定值。这在处理包含 JSON 格式数据的数据库时非常有用,尤其是在处理动态内容和应用程序数据交互时。
函数的基本语法是:
```sql
json_extract(json_doc, path[, path] ...)
```
其中:
`json_doc` 是包含 JSON 数据的列或变量。
`path` 是要提取的数据的路径。它可以是字符串形式,指定一个或多个键值对的路径,通过 `->` 操作符连接。如果 JSON 数据有多个层次结构,可以多次使用 `->` 操作符来遍历每个层级。
示例:
假设您有一个包含 JSON 数据的表 `users`,并且有一个名为 `data` 的列,该列存储用户信息作为 JSON 对象。例如:
```json
{
"name": "John Doe",
"age": 30,
"address": {
"city": "New York",
"street": "Main St"
}
}
```
如果您想从该 JSON 数据中提取 `city` 的值,可以使用以下查询:
```sql
SELECT json_extract(data, '$.address.city') AS city FROM users WHERE ...;
```
这将返回地址中的城市值("New York")。您可以根据需要更改路径来提取不同的值。如果路径不存在或 JSON 数据格式不正确,函数将返回 NULL。这对于过滤和查询 JSON 数据特别有用,特别是当您需要基于存储在 JSON 列中的特定值来检索数据时。
声明:该内容系网友自行发布,所阐述观点不代表本网(威客牛)观点,如若侵权请联系威客牛删除。