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 列中的特定值来检索数据时。


声明:该内容系网友自行发布,所阐述观点不代表本网(威客牛)观点,如若侵权请联系威客牛删除。