Postgresql:由2个不同的分隔符拆分列

时间:2018-02-01 21:52:12

标签: postgresql

我有一个字符串:

gg__1234_1232

我想将__之后的字符串拆分成一个单独的列。我尝试过使用SPLIT_PART(string,'__',2),但这会在__之后返回整个字符串。

1 个答案:

答案 0 :(得分:1)

不是按两个下划线拆分:__,只需用一个下划线_拆分它,然后抓住下一个元素:

SELECT split_part('gg__1234_1232', '_', 3);

当然,如果它是任意数量的下划线,这将不起作用。如果是这种情况,那么您可以首先使用regexp_replace点击字符串,将多个下划线压缩成一个下划线,然后点击split_part

SELECT split_part(REGEXP_REPLACE('gg_1234_1232','[_]+','_'), '_', 2);