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

MySQL Double列NULL值在Java及wpDataTables中返回0.0问题排查

问题原因与解决方案

表创建语句和查询语句均无问题,该现象是应用层的取值/处理逻辑导致的,分两种场景说明:

一、Java代码场景

ResultSet.getDouble()方法本身存在特性:当数据库字段值为NULL时,该方法会返回基本数据类型double的默认值0.0——因为基本数据类型无法存储NULL。

解决方法有两种:

  1. 先用getDouble()取值,再通过wasNull()判断是否为数据库NULL:
while (rs.next()) {
    double test1 = rs.getDouble("Test1");
    if (rs.wasNull()) {
        System.out.println("NULL");
    } else {
        System.out.println(test1);
    }
}
  1. 使用getObject()获取包装类型Double,直接接收NULL:
while (rs.next()) {
    Double test1 = (Double) rs.getObject("Test1");
    System.out.println(test1); // 数据库为NULL时,输出null
}

二、WordPress wpDataTables插件场景

wpDataTables默认会将数值型字段的NULL值自动替换为0.0,需要手动调整插件设置:

  • 进入wpDataTables的表格编辑页面
  • 找到对应Test1列的设置选项
  • 开启“保留NULL值”或类似选项(具体名称可能随插件版本略有不同),设置为显示NULL或空文本,而非0.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:37:04