You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snowflake中移除字符串前缀?person表general_id字段精简需求

在Snowflake中精简general_id字段至15字符的解决方案

针对你的需求,有两种高效的处理方式,具体选择取决于字段的格式一致性:

方法一:使用SPLIT_PART(推荐,性能更优)

如果所有general_id的格式都是「前缀内容_目标字符串」,且目标部分始终位于最后一个下划线之后,直接用SPLIT_PART分割取最后一段即可:

SELECT 
  SPLIT_PART(general_id, '_', -1) AS trimmed_general_id
FROM person;

如果目标字符串长度可能超过15,再加LEFT函数确保截断到15字符:

SELECT 
  LEFT(SPLIT_PART(general_id, '_', -1), 15) AS trimmed_general_id
FROM person;

方法二:使用REGEXP_REPLACE(适配复杂前缀模式)

如果前缀的格式不固定,但始终以最后一个下划线结尾,用正则匹配替换掉前缀部分:

SELECT 
  REGEXP_REPLACE(general_id, '^.*_', '') AS trimmed_general_id
FROM person;

同样,要确保结果不超过15字符的话,结合LEFT:

SELECT 
  LEFT(REGEXP_REPLACE(general_id, '^.*_', ''), 15) AS trimmed_general_id
FROM person;

这里正则表达式^.*_的含义是:匹配从字符串开头到最后一个下划线的所有内容,将其替换为空,留下下划线后的目标部分。

内容的提问来源于stack exchange,提问作者Truex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:28:14