在字符串末尾返回文本-Presto SQL

时间:2019-03-26 17:06:33

标签: sql amazon-athena presto

我正在尝试在字符串末尾返回文本。

Example #1- ad | aff | 11_32_32_Desired - Text
Example #2- ad | aff | 11_32_32_Desired Text

这是我列中的两个变体,有时所需的文本长度会在我的整个数据中发生变化。我试图将所需的文本值放入自己的列中。有些行带有-,有些则没有。

谢谢!

2 个答案:

答案 0 :(得分:0)

Presto SQL支持regular expressions,请尝试:

SELECT regexp_extract(column, 'Example #(\d+)\- ad \| aff \| \d\d_\d\d_\d\d_(.*)', 2)
FROM table

答案 1 :(得分:0)

如果您想要的是最后一次出现_之后的字符串部分,则:

select substr(col, length(col) - strpos(reverse(col), '_') + 2)