在PostgreSQL中,可以使用unnest
函数将列转行。以下是一个示例:
假设有一个表test_table
,其中包含一个包含数组的列array_column
:
CREATE TABLE test_table (
id SERIAL PRIMARY KEY,
array_column TEXT[]
);
INSERT INTO test_table (array_column) VALUES
('{a,b,c}'),
('{1,2,3,4}'),
('{x,y}');
要将array_column
列转行,可以使用以下查询:
SELECT id, unnest(array_column) AS new_column
FROM test_table;
这将产生以下结果:
id | new_column
---|-----------
1 | a
1 | b
1 | c
2 | 1
2 | 2
2 | 3
2 | 4
3 | x
3 | y