mysql json函数中“->”和“->>”有什么区别
时间: 2024-03-17 16:41:53 浏览: 64
在 MySQL 中,JSON 函数中的“->”和“->>”表示从 JSON 对象中获取值的不同方式。
“->”用于从 JSON 对象中获取指定键的值,并且返回一个 JSON 值。如果获取的值是一个 JSON 对象或数组,则返回的 JSON 值也是一个 JSON 对象或数组。
例如,对于以下 JSON 数据:
```
{
"name": "John Smith",
"age": 30,
"address": {
"city": "New York",
"state": "NY"
}
}
```
使用“->”可以获取“address”的值,例如:
```
SELECT JSON_EXTRACT('{"name": "John Smith", "age": 30, "address": {"city": "New York", "state": "NY"}}', '$.address') AS address;
```
这将返回以下结果:
```
{"city": "New York", "state": "NY"}
```
“->>”用于从 JSON 对象中获取指定键的字符串值,并且返回一个字符串。如果获取的值是一个 JSON 对象或数组,则返回 NULL。
例如,对于以下 JSON 数据:
```
{
"name": "John Smith",
"age": 30,
"address": {
"city": "New York",
"state": "NY"
}
}
```
使用“->>”可以获取“city”的值,例如:
```
SELECT JSON_EXTRACT('{"name": "John Smith", "age": 30, "address": {"city": "New York", "state": "NY"}}', '$.address.city') AS city;
```
这将返回以下结果:
```
New York
```
总之,“->”返回 JSON 值,而“->>”返回字符串值。
阅读全文