获取数组元素空格而不是逗号分隔

时间:2016-06-22 02:29:36

标签: sql arrays postgresql

我在PostgreSQL中有一个表"Health",有两列

Health_id   integer
health_data double precision[]

示例数据:

Health_id  health_data
1          {1,2.1,3.2,8.1,9.0}

我想从health_data Health中选择数组health_id = ?,但是我用逗号获取数组:

{1,2.1,3.2,8.1,9.0}

如何使用空格而不是逗号来获取数组,如下所示:

{1 2.1 3.2 8.1 9.0}

2 个答案:

答案 0 :(得分:1)

数组的默认文本表示形式使用逗号分隔元素 使用array_to_string()生成所需的文本表示:

SELECT array_to_string(health_data, ' ') AS health_data_with_spaces
FROM   "Health";

如果你想要周围的{},你必须手动添加它们:

SELECT '{' || array_to_string(health_data, ' ') || '}' AS health_data_with_spaces
FROM   "Health";

答案 1 :(得分:0)

array_to_string应该这样做。

(Default)Encoding

https://www.postgresql.org/docs/9.5/static/functions-array.html