如何往pgsql的json[]类型的字段中塞入json数组
时间: 2023-11-18 13:04:15 浏览: 184
要往 PostgreSQL 中的 `json[]` 类型字段中插入一个 JSON 数组,您可以使用以下语法:
```sql
INSERT INTO table_name (json_array_field)
VALUES ('[{"key1": "value1"}, {"key2": "value2"}]'::json[]);
```
在上面的示例中,我们使用 `INSERT INTO` 语句向表中插入一行数据。JSON 数组存储在 `json_array_field` 字段中,这个字段的类型是 `json[]`。
注意,我们在 `VALUES` 语句中使用了类型转换符 `::json[]`,将字符串转换为 `json[]` 类型。
您还可以在 `SELECT` 语句中使用 `json_agg()` 函数来将多个 JSON 对象组合成一个 JSON 数组,然后插入到 `json[]` 类型的字段中,如下所示:
```sql
INSERT INTO table_name (json_array_field)
SELECT json_agg(json_object)
FROM (
SELECT '{"key1": "value1"}'::json AS json_object
UNION ALL
SELECT '{"key2": "value2"}'::json AS json_object
) subquery;
```
在上面的示例中,我们使用 `SELECT` 语句查询两个 JSON 对象,并使用 `UNION ALL` 运算符将它们合并。然后,我们使用 `json_agg()` 函数将它们组合成一个 JSON 数组,并将其插入到 `json[]` 类型的字段 `json_array_field` 中。
阅读全文