AWS Athena:获取最后一个分隔符之后的字符串的部分
创始人
2024-11-14 10:00:18
0

在AWS Athena中,可以使用substring()strpos()函数来获取最后一个分隔符之后的字符串的部分。

下面是一个示例代码,假设我们有一个包含路径的字符串,我们想要获取最后一个分隔符之后的部分:

SELECT
  column_name,
  CASE
    WHEN strpos(column_name, '/') > 0 THEN substring(column_name, strpos_rev(column_name, '/') + 1)
    ELSE column_name
  END AS last_part
FROM
  table_name

在上面的代码中,column_name是包含路径的字符串列名,table_name是表名。

strpos()函数用于查找字符串中第一个出现的指定子字符串的位置。strpos_rev()是一个自定义函数,用于查找字符串中最后一个出现的指定子字符串的位置。

substring()函数用于提取字符串的一部分,第一个参数是要提取的字符串,第二个参数是要提取的起始位置。

在上面的代码中,使用strpos(column_name, '/')来查找最后一个分隔符/的位置,并使用substring(column_name, strpos_rev(column_name, '/') + 1)来提取最后一个分隔符之后的部分。如果字符串中没有分隔符,那么就返回整个字符串。

请注意,上述代码中的strpos_rev()函数是自定义函数,需要根据需要进行创建和注册。以下是一个示例的strpos_rev()函数的定义:

CREATE OR REPLACE FUNCTION strpos_rev(str VARCHAR, sub VARCHAR)
  RETURNS INT
  COMMENT 'Returns the position of the last occurrence of a string within another string.'
  LANGUAGE JAVASCRIPT
  AS
  '
  var result = str.lastIndexOf(sub);
  if (result === -1) {
    return 0;
  } else {
    return result + 1;
  }
  '
;

上述代码中的strpos_rev()函数是一个JavaScript函数,用于返回字符串中最后一个出现指定子字符串的位置。如果找不到指定子字符串,函数返回0。

在使用上述代码时,请将column_nametable_name替换为实际使用的列名和表名。

相关内容

热门资讯

外挂秘籍!德普之星app安卓版... 外挂秘籍!德普之星app安卓版破解版,uupoker有透视吗-一直真的有辅助app(哔哩哔哩)1、上...
外挂窍门!pokerrrr2辅... 外挂窍门!pokerrrr2辅助,德普之星的辅助工具介绍-总是有辅助工具(哔哩哔哩)运pokerrr...
外挂积累!德普之星私人局辅助器... 外挂积累!德普之星私人局辅助器,智星德州插件-好像一直都是有辅助app(哔哩哔哩)1、玩家可以在智星...
外挂绝活!德扑圈有透视吗,德州... 外挂绝活!德扑圈有透视吗,德州之星扫描器-一贯一直都是有辅助方法(哔哩哔哩)德州之星扫描器脚本下载中...
外挂步骤!智星菠萝德州辅助译码... 外挂步骤!智星菠萝德州辅助译码插件靠谱吗,哈糖大菠萝软件下载-切实真的是有辅助app(哔哩哔哩)1)...
外挂课程!佛手大菠萝辅助,红龙... 外挂课程!佛手大菠萝辅助,红龙poker辅助工具-总是是真的有辅助教程(哔哩哔哩)1、红龙poker...
外挂项目!aa poker辅助... 外挂项目!aa poker辅助包,uupoker透视-果然真的是有辅助app(哔哩哔哩)1、超多福利...
外挂指南书!hardrock透... 外挂指南书!hardrock透视工具,德州透视是真的吗-确实是有辅助攻略(哔哩哔哩)该软件可以轻松地...
外挂烘培!线上德州的辅助器是什... 外挂烘培!线上德州的辅助器是什么,poker master辅助-确实真的是有辅助脚本(哔哩哔哩)1、...
外挂方案!德普之星透视辅助软件... 外挂方案!德普之星透视辅助软件是真的吗,pokernow辅助工具-原来真的有辅助脚本(哔哩哔哩)po...