如何将IF语句转换为Alteryx对接Snowflake可用的CASE语句
Alteryx对接Snowflake场景下IF转CASE语句方案
待转换逻辑说明
原有IF语句实现的判定规则:
- 当
[SN]字段前3位为CAT,且字段总长度为17时,返回字段右侧8位字符 - 不满足上述条件时,直接返回
[SN]字段原值
原有无法正常运行的IF代码:
IF LEFT([SN],3)="CAT" AND Length([SN])=17 THEN RIGHT([SN],8) ELSE [SN] ENDIF
等效可执行CASE语句
适配Snowflake语法的CASE写法如下,和原逻辑完全等价:
CASE WHEN LEFT([SN], 3) = 'CAT' AND LENGTH([SN]) = 17 THEN RIGHT([SN], 8) ELSE [SN] END
语法适配说明
- Snowflake中双引号默认用于标记字段、表等对象标识符,字符串常量需要用单引号包裹,原语句中用双引号包裹
"CAT"是导致执行异常的常见原因 - 该写法可直接在对接Snowflake的Alteryx工具中运行,无需额外调整逻辑
内容的提问来源于stack exchange,提问作者Evoz
相关产品推荐
相关产品推荐

