In Java versuche ich, aus einem ResultSet, in dem die Spalte in einen primitiven int- Typ umgewandelt wird, auf einen Nullwert zu testen .
int iVal;
ResultSet rs = magicallyAppearingStmt.executeQuery(query);
if (rs.next()) {
if (rs.getObject("ID_PARENT") != null && !rs.wasNull()) {
iVal = rs.getInt("ID_PARENT");
}
}
Gibt es aus dem obigen Codefragment einen besseren Weg, dies zu tun, und ich gehe davon aus, dass der zweite wasNull () -Test redundant ist?
Erziehe uns und danke
IF(colName = NULL, 0, colName) AS colName
die SELECT
Anweisung einzugeben (vorzugsweise in einem gespeicherten Prozess). Philosophisch kommt es darauf an, ob die DB der App entsprechen soll oder umgekehrt. Da SQL NULL-Werte problemlos handhabt und viele SQL-Konsumenten dies nicht tun (dh java.sql.ResultSet
), entscheide ich mich, sie nach Möglichkeit in der Datenbank zu behandeln. (Dies setzt natürlich voraus, dass konzeptionell NULL und Null für Ihre Zwecke gleichwertig sind.)