2014-01-23 246 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;