在postgres中用分隔符拆分列

时间:2014-01-23 19:21:56

标签: regex postgresql

我有一个大表键(keyid,data)。在此表中,数据由以/分隔的文本组成。 例如x / y / z。我希望为表中datails列中存储的所有值提取第二个字段(在示例y中)。

我尝试使用这些

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

错误:用作表达式

的子查询返回多行
dblp1=# SELECT split_part((select key from keytable), '/', 2);     
  

错误:用作表达式

的子查询返回多行

两者都在单字符串上工作。

1 个答案:

答案 0 :(得分:1)

非常接近。您需要将函数包装在列名称周围,如下所示:

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