In Java sto cercando di verificare un valore null, da un ResultSet, in cui la colonna viene eseguita il cast su un 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");
}
}
Dal frammento di codice sopra, c'è un modo migliore per farlo e suppongo che il secondo test wasNull () sia ridondante?
Educaci e grazie
IF(colName = NULL, 0, colName) AS colName
la SELECT
dichiarazione (preferibilmente in un proc memorizzato). Filosoficamente, ciò dipende dal fatto che il DB debba essere conforme all'app o viceversa. Poiché SQL gestisce facilmente i NULL e molti utenti SQL non lo fanno (ad esempio java.sql.ResultSet
), scelgo di gestirli nel DB quando possibile. (Questo, naturalmente, presuppone che concettualmente NULL e zero siano equivalenti per i tuoi scopi.)