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

SQL Server如何处理Numerator和Denominator同时为0时的列值清除需求

实现方法

分为查询时临时转换和直接更新表数据两种场景:

场景1:仅查询时输出预期结果,不修改原表数据

你之前的CASE WHEN思路是正确的,只需要分别对两个字段做判断即可,注意数值类型的0不要加单引号包裹:

SELECT 
    ID,
    CASE WHEN Numerator = 0 AND Denominator = 0 THEN NULL ELSE Numerator END AS Numerator,
    CASE WHEN Numerator = 0 AND Denominator = 0 THEN NULL ELSE Denominator END AS Denominator
FROM 你的实际表名

场景2:直接修改原表存储的内容

如果需要把表中符合条件的行的两个字段直接设为NULL,可以用UPDATE语句:

UPDATE 你的实际表名
SET 
    Numerator = NULL,
    Denominator = NULL
WHERE Numerator = 0 AND Denominator = 0

常见问题说明

你之前语法出错大概率是判断条件里给0加了单引号,Numerator = '0'是字符串匹配逻辑,如果字段本身是int、decimal等数值类型,类型不匹配就会执行报错或者判断失效。
SQL Server中NULL值输出时会显示为空白,和你给出的预期效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:51:03