【问题标题】:Extracting file extensions from file excluding query parameters SQL从文件中提取文件扩展名,不包括查询参数 SQL
【发布时间】:2020-12-09 12:23:34
【问题描述】:

有没有办法使用 split_part 从 SQL 查询中获取不包括查询参数的文件扩展名? IE。 www.example.com?hffhqowhf 或者 test.jpg?34rfqeyfhhf

返回: com jpg

一般不依赖于 com 或 jpg?

非常感谢

【问题讨论】:

  • 您使用的是哪个数据库?
  • apache hadoop。不是数据库本身,而是使用 sql 样式查询
  • 通过黑斑羚......

标签: sql string file parsing url


【解决方案1】:

有很多方法可以实现这一点(例如使用 INSTR 和 SUBSTR 函数的组合),但最简洁的方法可能是使用正则表达式,如下所示:

(

  1. 假设:字符串总是有一个以“?”开头的查询参数这是该字符在字符串中唯一出现的地方

  2. 警告:我目前无法访问 Impala,因此您可能需要 调整正则表达式以使其与您一样精确地工作 需要

)

  1. 反转字符串(REVERSE 函数) - 使您想要的子字符串位于“?”之间和下一个'.'。如果您不反转字符串,则更难识别哪个'。'在你正在处理的字符串中

  2. 提取 '?' 之间的子字符串和 '。'但不包括这两个字符,例如

    select regexp_extract(reverse('www.example.com?hffhqowhf'),'?([^.]+)',1);

  3. 再次反转输出以获得所需的结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 2018-10-27
    • 2012-06-12
    • 2021-09-19
    相关资源
    最近更新 更多