我在Postgresql中有一个表。其中一个字段有多个字符串,我想把这个字符串放在不同的行中。 我用过:
id lng lat descriptions
1 0.98 51 walk, wedding, bus
并插入另一个表格,如下所示:
id lng lat descriptions
1 0.98 51 walk
1 0.98 51 wedding
1 0.98 51 bus
答案 0 :(得分:1)
将unnest()
与regexp_split_to_array()
:
WITH tb(id,lng,lat,descriptions) AS ( VALUES
(1,0.98,51,'walk, wedding, bus')
)
SELECT id,lng,lat,trim(unnest(regexp_split_to_array(descriptions,','))) AS descriptions FROM tb;
结果:
id | lng | lat | descriptions
----+------+-----+--------------
1 | 0.98 | 51 | walk
1 | 0.98 | 51 | wedding
1 | 0.98 | 51 | bus
(3 rows)