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

如何简化BigQuery中使用LIKE运算符批量更新名称的SQL语句?

简化BigQuery中重复LIKE语句的方案

可以利用BigQuery的正则表达式函数REGEXP_CONTAINS来合并重复的LIKE/NOT LIKE条件,大幅简化代码:

简化后的SQL语句

UPDATE `dbo.Servcomp_Dataset.bankstatement`
SET Category = "Purchases" --, Subcategory = "Adm" 
WHERE 
  REGEXP_CONTAINS(Name_payee, r"shipp")
  AND NOT REGEXP_CONTAINS(Name_payee, r"Bank of|Mortgage|Frigelar|Delivery guarathon|Strada")
  AND Amount < 0 
  AND Category IS NULL

关键说明

  • REGEXP_CONTAINS(Name_payee, r"shipp") 等价于 Name_payee LIKE "%shipp%",正则表达式默认会匹配字符串中任意位置的目标子串,完美替代模糊匹配的需求。
  • NOT REGEXP_CONTAINS(Name_payee, r"Bank of|Mortgage|Frigelar|Delivery guarathon|Strada") 把所有需要排除的关键词用|分隔,一次性完成多个NOT LIKE的判断,避免重复编写相同格式的条件。
  • 原逻辑中的Amount < 0和Category IS NULL条件保持不变,确保更新范围准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:25:21