我感兴趣的是从split_part函数结果中获取最后一项。
如果field1具有:
abc : def : ghi : jkl
abc : def : ghi : jkl : lmn
split_part(reverse(field1),':',1)不起作用,因为它返回
lkj
nml
我想要它回来:
jkl
lmn
发布于 2018-04-12 09:21:55
我想你要找的东西是这样的:
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)
https://stackoverflow.com/questions/49785550
复制相似问题