Em Java, estou tentando testar um valor nulo, de um ResultSet, onde a coluna está sendo convertida em um tipo int primitivo .
int iVal;
ResultSet rs = magicallyAppearingStmt.executeQuery(query);
if (rs.next()) {
if (rs.getObject("ID_PARENT") != null && !rs.wasNull()) {
iVal = rs.getInt("ID_PARENT");
}
}
No fragmento de código acima, existe uma maneira melhor de fazer isso e suponho que o segundo teste wasNull () seja redundante?
Eduque-nos e obrigado
IF(colName = NULL, 0, colName) AS colName
a SELECT
declaração (de preferência em um processo armazenado). Filosoficamente, isso se resume a se o DB deve estar em conformidade com o aplicativo ou vice-versa. Como o SQL lida com NULLs facilmente e muitos consumidores de SQL não (ie java.sql.ResultSet
), eu opto por lidar com ele no banco de dados sempre que possível. (Isto, naturalmente, assume que NULL conceitualmente e Zero são equivalentes para seus propósitos.)