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

BigQuery中如何对指定国家分组的特定列应用小写转换?

现有语句的问题

你的查询存在两个核心错误,导致执行结果不符合预期:

  • CASE表达式缺失ELSE分支:SQL中如果CASE语句的所有WHEN条件都不满足,且没有定义ELSE返回值,会默认返回NULL——也就是说非FR、ES国家的记录,这个计算列会返回空值,而不是你预期保留的原product_name内容。
  • 字段冗余重复:你同时查询了原生的product_name字段和CASE生成的计算列,最终返回结果会多出一列,并没有实现「直接替换原product_name字段值」的需求。
修正后的语句

直接把原查询里原生product_name的位置,替换为补全了ELSE逻辑的CASE表达式,给计算列别名product_name即可;另外注意timestamp是多数SQL引擎的保留关键字,建议加转义符避免语法报错:

SELECT
    id
    ,brand
    ,cern
    ,cern_3
    ,backpack
    ,qutoation
    ,CASE
        WHEN country_code IN ('FR', 'ES') THEN LOWER(product_name)
        ELSE product_name
      END AS product_name
    ,category
    ,country_code
    ,`timestamp`
FROM table.name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:33:14