1
我的目標是取一個array
,把它放到一個unnest
的表中,然後將它聚合回一個與array_agg
的數組。爲什麼第一塊DO
塊會失敗,第二塊成功?PostgreSQL:`unnest`一個數組,然後`array_agg`回
DO $$
DECLARE
x numrange[] := '{"[0, 3]", "[0, 1]", "[3, 5]", "[3, 8]"}';
BEGIN
x := (SELECT array_agg(x) FROM unnest(x));
RAISE NOTICE '%', x;
END;
$$;
DO $$
DECLARE
x numrange[] := '{"[0, 3]", "[0, 1]", "[3, 5]", "[3, 8]"}';
BEGIN
x := (SELECT array_agg(y) FROM unnest(x) AS y);
RAISE NOTICE '%', x;
END;
$$;
你爲什麼要這樣做?你正試圖解決的**真正**問題是什麼? –
我想通過降低右邊界來對數組中的範圍進行排序。我正在考慮製作一個表,並用upper()或其他東西排序它 – alisianoi
@a_horse_with_no_name這裏是我的評論重鑄成一個問題:http://stackoverflow.com/questions/33954733/postgresql-sort-an-array-of-元件-使用-一些排序條件 – alisianoi