mec*_*ech 5 postgresql json jsonb
我有一个qn形式为JSONB类型的字段:
[{id: 1, text: 'A'}, {id: 2, text: 'B'}]
要获取所有文本,我可以这样做:
SELECT jsonb_array_elements(qn)->>'text' from templates where id=1
我的问题是,如何合并成这样的单个字符串:
A, B
如果该字段不是JSONB,则可以使用以下命令轻松完成:
SELECT array_to_string(ARRAY(select title from templates), ', ');
如果该字段为JSONB,该怎么办?
只需聚合为一个字符串:
SELECT string_agg(txt, ', ') AS all_text
FROM (
SELECT jsonb_array_elements(qn)->>'text' AS txt
FROM templates
WHERE id = 1) sub;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2575 次 |
| 最近记录: |