我有以下查询:
SELECT array_to_string(array( SELECT birthday from users where userid>10), ',' ) as birthdaylist
这会生成以下数据:
birthdaylist
text
"2015-08-02,2015-08-09"
我想要的是得到这个结果:
("02/Aug/2015","09/Aug/2015")
我阅读了postgresql手册http://www.postgresql.org/docs/8.2/static/functions-formatting.html我看到有一个函数to_date('05 Dec 2000', 'DD Mon YYYY')
但它并没有真正帮助我。
我试过了:
Select Array (SELECT birthday from users where userid>10)
这个查询给了我一个数组,但它不是一个文本数组:date[]
我如何获得("02/Aug/2015","09/Aug/2015")
?
答案 0 :(得分:3)
您的查询过于复杂。您不需要嵌套的子选择。只需使用您想要的格式进行常规聚合。
select string_agg(to_char(birthday, 'DD Mon YYYY'), ',')
from users
where userid > 10;
顺便说一下:你不应该阅读完全过时版本的手册(8.2)。请始终使用您所使用版本的手册。