SPLIT_PART 带 2 个定界符和 OR 条件 Snowflake

SPLIT_PART with 2 delimiters with OR condition Snowflake

我正在尝试使用 SPLIT_PART 来检索符号“.”之后的可用值':'。

例子-

data = 'first.middle.last'
split_part(data,'.',-1) 


data = 'first.middle:last' 
split_part(data,':',-1) 

在这两种情况下,结果都是 'last'

如何使用 split_part(data," : OR .", -1)

您可以在解析前用 . 替换 :

split_part(replace(data,'.',':'),':',-1) 

如果第一个没有获取任何内容,您也可以将它嵌套在另一个 split_part

split_part(split_part(data,'.',-1),':',-1) 

您可以使用 REGEX 函数或将所有字符更改为一个:

SET data = 'first.middle:last';
SELECT SPLIT_PART(REPLACE($data, '.', ':'),':',-1);