【问题标题】:split_part multiple delimeterssplit_part 多个分隔符
【发布时间】:2018-05-16 06:21:32
【问题描述】:

有没有办法在多个分隔符上使用 split_part? 所以对于lower(trim(split_part(t.advisor_last_name,' ',1)),如果存在空格(如图所示)或逗号,我想拆分advisor_last_name。我们基本上有很多 CPA、CFA、CIMA 等,不允许我在不同文件之间进行适当的匹配。

有什么建议吗?

【问题讨论】:

    标签: sql amazon-redshift


    【解决方案1】:

    您可以使用 REGEX_REPLACE 将所有其他分隔符替换为 ' '(空白字符),然后为 ' ' 执行 split_part!似乎是一种解决方法。

    如果 split_part 的 delimiter 参数可以是正则表达式,您可以直接执行此操作,但看起来不是。

    【讨论】:

    • 您介意展示我如何实现正则表达式以将所有其他分隔符替换为“ ”吗?
    • 现在我会定期替换';'
    • regex_replace(source_string,"[\!;,.]",' ') 您可以在正则表达式模式中插入更多您想要的标点符号,但如果需要,请确保转义字符。这样 [ ] (字符类)中的任何内容都将替换为第三个参数,在您的情况下为 ' '
    • 啊太棒了。 select regexp_replace(advisor_last_name,'[\!;,.]',' ') 工作就像一个魅力
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多