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

标签 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 中选择数组 health_data,其中 health_id = ?,但我得到的数组带有逗号:

{1,2.1,3.2,8.1,9.0}

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

{1 2.1 3.2 8.1 9.0}

最佳答案

数组的默认文本表示使用逗号分隔元素。
使用 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";

关于sql - 获取数组元素空格分隔而不是逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37957549/

相关文章:

java - 如何检查 Java JDBC 代码是否使用了正确的列名?

postgresql - 在 PostgresQL 数据库中存储 Twitter Snowflake 字符串的最佳方法是什么?

java - 使用选择查询和动态 SQL 执行 SQL 脚本文件

php - 将两个表行相互链接/附加的想法

java - 如何在 while 循环之外声明一个数组,但在 while 循环中初始化它?

c++ - 数组地址

sql - 如何在 Grails/GORM 中将派生属性设置为小写?

mysql - 如何获取第一个查询的 ID 并将其用于第三个查询?

javascript - 将无限数量的参数传递给 sort() 函数

postgresql - 为什么 docker-entrypoint-initdb.d 中的脚本在数据库开始监听连接之前运行,导致 pg_restore 失败?