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

BigQuery中REPLACE函数替换空字符串为'0'无效问题

在BigQuery中替换空字符串为'0'的正确方法

你当前使用REPLACE函数的方式无法达到预期效果,原因是REPLACE的作用是替换字符串中出现的指定子串,当搜索目标是空字符串时,它不会直接把整个空字符串替换成'0',而是执行特殊的匹配逻辑(比如匹配字符串的所有空位置),这不符合你的需求。

正确解决方案

方法1:用IF函数直接判断

select if(col_with_ns = '', '0', col_with_ns)
from doodle_ns;

方法2:用CASE WHEN语句

select 
  case 
    when col_with_ns = '' then '0'
    else col_with_ns
  end as col_with_ns
from doodle_ns;

额外处理:同时兼容NULL值

如果你的字段中还存在NULL(不是空字符串),可以用NULLIF配合IFNULL一次性处理两种情况:

select ifnull(nullif(col_with_ns, ''), '0')
from doodle_ns;

这段代码会先把空字符串转为NULL,再将所有NULL值替换为'0'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:45:38