【问题标题】:how to remove characters after digits in snowflake如何删除雪花中数字后的字符
【发布时间】:2021-10-19 14:43:18
【问题描述】:

我有一个像“22-ABCD-BC-220602-11484-TEST”这样的字符串,我想从这个字符串的末尾删除“TEST”这个词。 重点是“TEST”每次都在变化,而不是一个常数变量。所以我想要做的是编写查询以删除字符串末尾数字之后的内容。 就像在这种情况下,我希望它删除 220602-11484 之后的任何内容。

我使用了这个查询

选择 REGEXP_REPLACE('22-ABCD-BC-220602-11484-TEST','([0-9]{6}-[0-9]{5}).*$','')

用空格替换结尾部分,但我得到的结果是 '22-ABCD-BC-' 并且它也删除了数字

【问题讨论】:

    标签: regexp-replace snowflake-sql


    【解决方案1】:
    select left('22-ABCD-BC-220602-11484-TEST', len('22-ABCD-BC-220602-11484-TEST') - charindex('-', reverse('22-ABCD-BC-220602-11484-TEST')));
    

    我们基本上考虑了最后一个连字符之前剩下的所有内容。

    参考文档:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 2020-11-04
      • 1970-01-01
      相关资源
      最近更新 更多