在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