我有兴趣从split_part函数结果中获取最后一项。
如果field1有:
switch
split_part(反向(字段1),':',1)因为返回而无法正常工作
abc : def : ghi : jkl
abc : def : ghi : jkl : lmn
我希望它回归:
lkj
nml
答案 0 :(得分:2)
我认为你正在寻找类似的东西:
reverse(split_part(reverse(field1), ':', 1));
您还可以考虑创建一个功能:
CREATE OR REPLACE FUNCTION reverse_split_part(varchar(65535), varchar(1), int)
RETURNS varchar(65535)
AS
$$
SELECT
reverse(split_part(reverse($1), $2, $3));
$$ LANGUAGE SQL IMMUTABLE;
并像这样使用它:
admin@dev# select reverse_split_part(field1, ':', 1) from tbl;
reverse_split_part
--------------------
jkl
lmn
(2 rows)