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

Snowflake/Matillion正则问题:含字母或连字符的字段置为0

问题解决:Snowflake中替换含字母或连字符的字段值

你的原SQL问题出在正则表达式的模式上:[a-zA-Z]*仅匹配0个或多个字母,既没覆盖连字符,且*允许空匹配,导致只有纯字母的字段被替换,不符合「只要包含字母或连字符就转为0」的需求。

修改后的SQL语句如下:

select SHIP_TO_CUSTOMER_NUMBER,
CASE
WHEN REGEXP_LIKE(SHIP_TO_CUSTOMER_NUMBER, '[a-zA-Z-]') THEN '0'
ELSE SHIP_TO_CUSTOMER_NUMBER
END as test_field
from sales_fact_m3;

说明:

  • [a-zA-Z-]是字符集合,匹配任意大小写字母或连字符
  • Snowflake的REGEXP_LIKE默认会检查字符串中是否存在匹配的子串,只要字段里有字母或连字符,就会触发替换为0的逻辑
  • 纯数字的字段会保留原值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:52:00