【发布时间】:2018-02-24 16:40:45
【问题描述】:
在 PostgreSQL 中,我有一个二维数组,例如:
SELECT ARRAY[[1,2,3],[4,5,6]]
我想从这个数组中检索整个第一个 ([1,2,3]) 数组。 可悲的是:
SELECT (ARRAY[[1,2,3],[4,5,6]])[1]
不起作用,因为它返回一个空值。
有可能吗?
【问题讨论】:
标签: sql arrays postgresql
在 PostgreSQL 中,我有一个二维数组,例如:
SELECT ARRAY[[1,2,3],[4,5,6]]
我想从这个数组中检索整个第一个 ([1,2,3]) 数组。 可悲的是:
SELECT (ARRAY[[1,2,3],[4,5,6]])[1]
不起作用,因为它返回一个空值。
有可能吗?
【问题讨论】:
标签: sql arrays postgresql
✓ 1 行受影响create table test(id int, val int[][]); insert into test values (1, ARRAY[[1,2,3],[4,5,6]]);
编号 |值 -: | :-------- 1 | {{1,2,3}}select id, val[1:1] from test;
|数组 | | :-------- | | {{1,2,3}} |SELECT (ARRAY[[1,2,3],[4,5,6]])[1:1]
dbfiddle here
【讨论】:
好的,我解决了:
SELECT (ARRAY[[1,2,3],[4,5,6]])[1][1:3]
完全符合我的要求。
【讨论】:
select(array[[1,2,3],[4,5,6]])[1][:] 会更通用一些