如何在BigQuery中结合IF与REGEXP_CONTAINS?语法错误排查
BigQuery CASE语法错误修正方案
你的问题出在混淆了CASE语句和IF函数的语法,BigQuery里不能像你那样把IF直接嵌套在CASE里。下面是两种正确的写法:
写法一:标准CASE WHEN结构
CASE WHEN REGEXP_CONTAINS(LOWER(CampaignName), 'abc') THEN (A + C) ELSE (A + B + C) END AS Cost
写法二:直接使用IF函数
IF(REGEXP_CONTAINS(LOWER(CampaignName), 'abc'), (A + C), (A + B + C)) AS Cost
补充说明
LOWER(CampaignName)把活动名称转成小写,确保匹配不区分大小写(比如'ABC'、'Abc'都能被识别)REGEXP_CONTAINS用来检测字符串是否包含指定内容,这里匹配小写的'abc'即可
内容的提问来源于stack exchange,提问作者glitter-bug
相关产品推荐
相关产品推荐

