如何拆分String并将其作为新行插入同一个表中?

时间:2015-12-23 11:35:01

标签: sql postgresql

我有一张桌子地址。

create table address(
id  number,
city text,
street text,
house_number text);

有些时候我得到city = Berlin,street = xyz和house_number 而是3,例如3-5或3-5-7。

我希望在这种情况下拆分这个数字并创建新的行/ s以便我得到:

id  city     street  house_number
1. Berlin    xyz      3
2. Berlin    xyz      5
2. Berlin    xyz      7

关于

安德烈

1 个答案:

答案 0 :(得分:2)

使用select unnest(string_to_array(YOUR STRING, '-'));

它会转换'3-5-7' 到:

3
5
7

然后,您只需运行一个将行插入表的查询。 请参阅SQLFiddle