テーブル列の定義では、数値項目でもNULLも許容することができます。JDBCで値を取得するときは、通常は PreparedStatement conn.prepareStatement(...); ResultSet rset = stmt.executeQuery(); while (rset.next() { Integer value = rset.getInt(1); } のようにしますが、getInt()やgetLong()などは「項目値がSQL nullの場合には0を返す」という仕様となっているため、正しい値を取得することができません。あらかじめ項目値がnullかどうかをチェックできれば良いのですが、APIとして用意されているのはwasNull()という、一旦値を取り出した後にnullだったかどうかを判定するものです。これを素直に使うと Integer value = rset