Snowflake/SQL 中根据条件分割字符串

问题描述 投票:0回答:1

在一列中,如果该列中有一个字符串

col1
,如
'abc_def'
,我可以像这样拆分并取出部分
split(col1, '_')[0]
在同一列中,如果有另一个值,如
'abc_def_xyz'
,我需要采取
'abc_def'
。基本上我需要排除最后一部分。

实现这一目标的最佳方法是什么?

我无法使用

split
regex_replace
功能来实现此目的

sql snowflake-cloud-data-platform
1个回答
0
投票

我们首先用“_”分隔列。然后我们将其从 0 切片到 -1,留下创建的数组的最后一个元素。然后再次将剩余的转换回字符串。

SELECT
    col1,
    ARRAY_TO_STRING(ARRAY_SLICE(SPLIT(col1, '_'), 0, -1), '_') AS exc_last
FROM your_table_name;
© www.soinside.com 2019 - 2024. All rights reserved.