postgresql 字符串合并成json
时间: 2023-11-16 13:17:30 浏览: 150
你可以使用 PostgreSQL 的内置函数 `json_agg` 将多个字符串合并成一个 JSON 数组。例如,假设你有一个 `users` 表,每行包含一个 `name` 字段:
```
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(50)
);
INSERT INTO users (name) VALUES ('Alice'), ('Bob'), ('Charlie');
```
现在你想将所有用户名合并成一个 JSON 数组,可以使用以下查询语句:
```
SELECT json_agg(name) FROM users;
```
这将返回以下结果:
```
json_agg
-----------------------------
["Alice", "Bob", "Charlie"]
(1 row)
```
如果你想将 JSON 数组嵌入到另一个 JSON 对象中,你可以使用 PostgreSQL 的 `json_build_object` 函数。例如,以下查询将返回一个包含用户列表的 JSON 对象:
```
SELECT json_build_object('users', json_agg(name)) FROM users;
```
这将返回以下结果:
```
json_build_object
----------------------------------
{"users" : ["Alice", "Bob", "Charlie"]}
(1 row)
```
阅读全文