【问题标题】:SPLIT_PART with 2 delimiters with OR condition SnowflakeSPLIT_PART 带有 2 个带 OR 条件的分隔符 Snowflake
【发布时间】:2021-11-30 22:09:36
【问题描述】:

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

例子-

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


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

在这两种情况下,结果都是“最后一个”

我怎样才能使用split_part(data," : OR .", -1)之类的东西

【问题讨论】:

    标签: sql split snowflake-cloud-data-platform


    【解决方案1】:

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

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

    【讨论】:

    • 这很简单,谢谢@Michael Golos
    【解决方案2】:

    您可以在解析之前将: 替换为.

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

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

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

    【讨论】:

    • 第一个选项更适合我的情况。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2021-12-13
    • 1970-01-01
    • 2014-08-08
    • 2011-04-12
    • 2021-04-30
    相关资源
    最近更新 更多