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

如何使用SQL的CASE WHEN语句新增列,实现cnt_dealno非1时amount置0

问题原因

你原有代码的错误出在ELSE分支的逻辑:ELSE amount = 0属于布尔判断表达式,不会返回你需要的数值0,不符合CASE表达式的语法规则——CASE结构中THEN和ELSE后都需要直接填写最终要返回的目标值。

正确SQL代码

SELECT
  CASE WHEN cnt_dealno = 1 THEN amount
  ELSE 0
  END AS new_amount
FROM tab

补充说明:如果你的cnt_dealno字段是数值类型,不需要给1加单引号,可避免隐式类型转换影响执行效率;如果是字符串类型,保留'1'的写法即可。

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

相关产品推荐
方舟 Agent Plan

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

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