En Java, j'essaie de tester une valeur nulle, à partir d'un ResultSet, où la colonne est convertie en un type int primitif .
int iVal;
ResultSet rs = magicallyAppearingStmt.executeQuery(query);
if (rs.next()) {
if (rs.getObject("ID_PARENT") != null && !rs.wasNull()) {
iVal = rs.getInt("ID_PARENT");
}
}
D'après le fragment de code ci-dessus, existe-t-il une meilleure façon de le faire, et je suppose que le deuxième test wasNull () est redondant?
Renseignez-nous et merci
IF(colName = NULL, 0, colName) AS colName
dans la SELECT
déclaration (de préférence dans un proc stocké). D'un point de vue philosophique, cela revient à déterminer si la base de données doit être conforme à l'application, ou vice versa. Étant donné que SQL gère facilement les valeurs NULL et que de nombreux consommateurs SQL ne le font pas (c'est-à-dire java.sql.ResultSet
), je choisis de le gérer au niveau de la base de données lorsque cela est possible. (Ceci, bien sûr, suppose que conceptuellement NULL et zéro sont équivalents pour vos besoins.)