PostgreSQL以逗号分隔的值列表获取最后一个值

Jay*_*van 0 sql postgresql

在PostgreSQL表中,我有一个列有值的列

AX,B,C
A,BD
X,Y
J,K,L,M,N
Run Code Online (Sandbox Code Playgroud)

简而言之,每列记录的列中都会有一些逗号分隔的字符串.我想在每张唱片中得到最后一张.我最终得到了这个.

select id, reverse(substr(reverse(mycolumn),1,position(',' in reverse(mycolumn)))) from mytable order by id ; 
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法?

Gor*_*off 8

我会这样做:

select reverse(split_part(reverse(myColumn), ',', 1))
Run Code Online (Sandbox Code Playgroud)


kmk*_*lan 5

regexp_replace:

select id, regexp_replace(mycolumn, '.*,', '')
from mytable
order by id;
Run Code Online (Sandbox Code Playgroud)