JDBC結果セットを使用する場合、この列はNULL可能であるため、doubleではなくDoubleを取得したいと思います。列がnullの場合、Rs.getDoubleは0.0を返します。
ResultSetで wasNull
をチェックして、値がnull
であったかどうかを確認できます。
最初に列のgetterメソッドの1つを呼び出してその値を読み取ろうとし、次にメソッドwasNullを呼び出して読み取られた値がSQLNULLであるかどうかを確認する必要があることに注意してください。
後で本当にDouble
が必要な場合は、返されたdouble
から作成できます。
前述のResultSet#wasNull()
の代わりに、null
で ResultSet#getObject()
をテストして、と組み合わせて1行にうまく配置できるようにすることもできます。三項演算子:
Double d = resultSet.getObject("column") != null ? resultSet.getDouble("column") : null;
の代わりに
Double d = resultSet.getDouble("column");
if (resultSet.wasNull()) {
d = null;
}
ResultSet.wasNullを使用-> http://Java.Sun.com/javase/6/docs/api/Java/sql/ResultSet.html#wasNull%28%29
基本的に、すべてのプリミティブ型で機能します。最初にgetDouble
、getInt
などを使用し、次に結果が0の場合にのみwasNull
を使用します。
あなたはただすることができます:
Double d =(Double)resultSet.getObject( "column");
そうすれば、それがnullであるかどうかを心配する必要はありません。