2014-01-23 245 views
0

我有一個很大的表鍵(keyid,data)。在這個表格中,數據由一個由/分隔的文本組成。 例如x/y/z。我希望爲表格中datails列中存儲的所有值提取第二個字段(在示例y中)。在Postgres中用分隔符分隔列

我試着用這些

dblp1=# select regexp_split_to_array((select key from keytable),'/') as key_split; 

ERROR: more than one row returned by a subquery used as an expression

dblp1=# SELECT split_part((select key from keytable), '/', 2);  

ERROR: more than one row returned by a subquery used as an expression

單串裏工作。

回答

1

非常接近。您需要將功能封裝在列名稱周圍,如下所示:

select split_part(key, '/', 2) from keytable;