В Java я пытаюсь проверить нулевое значение из ResultSet, где столбец приводится к примитивному типу int .
int iVal;
ResultSet rs = magicallyAppearingStmt.executeQuery(query);
if (rs.next()) {
if (rs.getObject("ID_PARENT") != null && !rs.wasNull()) {
iVal = rs.getInt("ID_PARENT");
}
}
Из вышеприведенного фрагмента кода есть лучший способ сделать это, и я предполагаю, что второй тест wasNull () является избыточным?
Просветите нас и спасибо
IF(colName = NULL, 0, colName) AS colName
в SELECT
заявлении (предпочтительно в хранимая процедура). С философской точки зрения это сводится к тому, должна ли БД соответствовать приложению или наоборот. Поскольку SQL легко обрабатывает значения NULL, а многие потребители SQL этого не делают (то есть java.sql.ResultSet
), я по возможности использую его в БД. (Это, конечно, предполагает, что концептуально NULL и ноль эквивалентны для ваших целей.)