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

BigQuery中如何将多个LIKE条件合并为单一行写法?

BigQuery中合并多个LIKE条件的替代方案

首先明确:BigQuery的LIKE语法不支持[AB]%这种方括号字符集匹配,它只支持%(任意长度任意字符)和_(单个任意字符)两种通配符,所以你说的方括号写法行不通。

如果不能用多个独立的LIKE语句,也不能用正则表达式,可以试试以下两种实用方案:

方案1:用STARTS_WITH结合数组+EXISTS

把所有需要匹配的前缀放到数组里,通过UNNEST展开后检查是否有匹配的前缀,整个条件是一个独立的逻辑块,不用写多个OR:

SELECT name
FROM table1
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(['ANG', 'GA']) AS prefix
  WHERE STARTS_WITH(name, prefix)
)

方案2:用LEFT函数结合IN(适合前缀长度统一的场景)

如果所有目标前缀长度一致,比如都是2个字符,可以直接截取字符串前缀后用IN匹配:

-- 示例:前缀均为2字符的情况
SELECT name
FROM table1
WHERE LEFT(name, 2) IN ('GA', 'AN')

但如果前缀长度不同(比如你的例子里一个是3字符、一个是2字符),这个方法需要拆分条件,灵活性不如方案1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:02:12