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

在计算列上使用COALESCE消除NULL值

解决CASE语句NULL替换为0的问题

你可以通过两种方式实现把结果中的NULL替换为0:

方法一:给CASE添加ELSE分支(推荐)

直接在CASE里补充ELSE 0,这样不满足条件或计算结果为NULL时都会返回0,语法更简洁直观:

CASE 
    WHEN CEILING(ORDER_QTY * 1. / BOUM * 1.) > 4 
        THEN 1
    ELSE 0
END AS 'ABOVE TARGET'

方法二:用COALESCE包裹整个CASE表达式

如果你一定要用COALESCE,需要把整个CASE语句作为COALESCE的第一个参数,第二个参数指定为0,这样当CASE返回NULL时,COALESCE会取0:

COALESCE(
    CASE 
        WHEN CEILING(ORDER_QTY * 1. / BOUM * 1.) > 4 
            THEN 1
    END,
    0
) AS 'ABOVE TARGET'

之前语法报错大概率是因为你把COALESCE的位置放错了,比如嵌套在CASE内部,或者参数传递不符合要求,按照上面的写法就能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:58:11