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

为何新增infection_rate列全部显示为0?

感染率计算显示0及列类型修改解决方案

修改列数据类型(无需重新导入CSV)

如果使用SQL Server,可直接通过ALTER TABLE语句修改目标列类型,无需重新导入整个数据集:

ALTER TABLE 你的表名
ALTER COLUMN infection_rate DECIMAL(18, 4); -- 保留4位小数足以展示3%左右的数值

注意操作前确认列中现有数据能兼容新类型,避免转换报错。

解决计算后结果全为0的问题

核心问题大概率是整数除法导致的取整:

  • 若用感染人数 / 总人数这类整数相除逻辑,数据库会默认返回整数结果,3%左右的小数会被直接取整为0。
  • 修正方法是将其中一个运算数转为小数类型,强制触发浮点除法:
    -- 方法1:显式转换其中一个数值为decimal
    SELECT CAST(感染人数 AS DECIMAL(18,4)) / 总人数 AS infection_rate
    FROM 你的表名;
    
    -- 方法2:用1.0相乘快速转为浮点型
    SELECT 感染人数 * 1.0 / 总人数 AS infection_rate
    FROM 你的表名;
    

另外,确认infection_rate列的存储类型是带小数位的(比如DECIMAL(18,4)),避免存储时再次被取整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 07:57:05