我使用的是 PostgreSQL 9.4。我需要将子查询转换为 hstore。 我有这样的疑问:
select code, value_string from dir
。它回来了
code | value_string
------|--------------
CODE | 1
ACC | 2
...
如何将他的结果转换为
hstore('"ACC"=>"2", "CODE"=>"1", ...')
?
我正在寻找这样的东西:
SELECT hstore(select code, value_string from dir)
。
对于文档:
- 从单独的键和值数组构造一个 hstore。hstore(text[], text[])
使用
array_agg()
作为此函数的参数。示例:
create table dir (code text, value_string text);
insert into dir values
('CODE', 1),
('ACC', 2);
select hstore(array_agg(code), array_agg(value_string))
from dir;
hstore
-------------------------
"ACC"=>"2", "CODE"=>"1"
(1 row)