首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Redshift中的split_part,解析后获取最后一个值

Redshift中的split_part,解析后获取最后一个值
EN

Stack Overflow用户
提问于 2018-04-12 06:57:06
回答 1查看 2.8K关注 0票数 1

我感兴趣的是从split_part函数结果中获取最后一项。

如果field1具有:

代码语言:javascript
代码运行次数:0
运行
复制
abc : def : ghi : jkl
abc : def : ghi : jkl : lmn

split_part(reverse(field1),':',1)不起作用,因为它返回

代码语言:javascript
代码运行次数:0
运行
复制
lkj
nml

我想要它回来:

代码语言:javascript
代码运行次数:0
运行
复制
jkl
lmn
EN

Stack Overflow用户

发布于 2018-04-12 09:21:55

我想你要找的东西是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
reverse(split_part(reverse(field1), ':', 1));

您还可以考虑创建一个函数:

代码语言:javascript
代码运行次数:0
运行
复制
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;

并像这样使用它:

代码语言:javascript
代码运行次数:0
运行
复制
admin@dev# select reverse_split_part(field1, ':', 1) from tbl;
reverse_split_part 
--------------------
  jkl
  lmn
(2 rows)
票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49785550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档