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

如何在BigQuery中结合查询参数实现模糊LIKE查询

BigQuery参数化查询LIKE通配符使用问题解答

结论

可以在BigQuery参数化查询中为字符串查询条件搭配通配符使用,你给出的两种写法逻辑上完全等价,无返回结果一般是参数处理环节的细节问题导致的。

常见问题排查

  • 参数大小写与匹配逻辑不匹配:虽然你示例中传入的参数是小写的%rob%,但如果实际运行时传入的用户输入没有统一转小写,就会和LOWER(name)的处理逻辑不匹配导致查不到结果。
  • 通配符处理逻辑分散:把通配符写在参数值里的写法很容易因为漏加、错加通配符导致匹配失败,更稳妥的做法是把通配符拼接逻辑统一放到SQL侧处理。

推荐实现写法

import bigquery
client = bigquery.Client()
# 参数仅传入用户原始输入,无需提前处理通配符和大小写
query_parameters = [bigquery.ScalarQueryParameter("name_param", "STRING", "rob")] 
job_config = bigquery.QueryJobConfig(query_parameters=query_parameters)
# SQL侧统一处理大小写拼接和通配符
query_job = client.query("""
              SELECT name from `people_table` 
              WHERE LOWER(name) LIKE CONCAT('%', LOWER(@name_param), '%');
              """, job_config=job_config) 
rows = query_job.result()

这个写法既保留了参数化查询的安全特性,也避免了参数预处理时的人为错误,适配任意用户输入场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:54:03