三级嵌套的json数据数据库查询sql
时间: 2023-09-24 12:13:38 浏览: 90
对于三级嵌套的JSON数据,可以使用PostgreSQL中的JSONB数据类型和相关函数来查询。
假设有以下JSON数据:
```
{
"id": 1,
"name": "Alice",
"details": {
"age": 25,
"address": {
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
}
```
查询其中的city字段,可以使用以下SQL语句:
```
SELECT data->'details'->'address'->>'city' AS city
FROM mytable
WHERE data->'details'->'address'->>'city' = 'New York';
```
其中,data是JSONB类型的列名,mytable是表名。
如果要查询所有地址在New York的记录,可以使用以下SQL语句:
```
SELECT *
FROM mytable
WHERE data->'details'->'address'->>'city' = 'New York';
```
如果要查询所有年龄大于20岁的记录,可以使用以下SQL语句:
```
SELECT *
FROM mytable
WHERE (data->'details'->>'age')::int > 20;
```
其中,将age字段转换为整型后再进行比较。
阅读全文