Snowflake SQL REGEXP-在文件扩展名之前进行连字符后捕获



希望捕获出现在连字符后.file_extension之前的客户代码…
示例:DWL-202_EJJFT_Transactions-EOTTFFS001.csv
在这种情况下,我希望捕获EOTTFFS001作为我的帐户代码。

到目前为止,我已经尝试过使用RIGHT,但由于我们的客户有不同的长度代码,有时我会使用-DJTSM001.csv,因为在这种情况下,客户有一个五个字母的代码。这种方法也不会删除CSV。我还尝试将RIGHT语句嵌套在另一个RIGHT语句中,但这似乎不起作用。

我的目标是使用REGEXP_SUBSTR

我想你只需要最后一个句点之前的无连字符字符串:

select regexp_substr(col, '-([^-]+)[.][^.-]+$', 1, 1, 'e')

在中抛出基于split_part的替代方案

select split_part(replace(col,'-','.'),'.',-2) -- -2 gets you the second last item

最新更新