我是这样的查询select * from personal."phoneNumbers"
的结果集
前缀
pref |number
-----|--------
"12 "|"4589524"
"077"|"7090701"
"050"|"2561024"
但我想返回像
这样的数据(12) 4589524;(077) 7090701; (050) 2561024
如何使用postgresql执行此操作?
答案 0 :(得分:0)
您可以使用字符串运算符和函数以您希望的格式构建单个电话号码:
'(' || btrim(pref) || ') ' || number
这显然会为您处理的每条记录生成一个字符串。然后,您可以使用聚合函数string_agg()
将所有记录中的扩展电话号码串联起来(无双关语),并在电话号码之间使用适当的分隔符:
SELECT string_agg('(' || btrim(pref) || ') ' || number, '; ') AS pref_number
FROM personal."phoneNumbers"