У 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");
}
}
З наведеного вище фрагмента коду, чи є кращий спосіб зробити це, і я припускаю, що другий тест бувNull () є зайвим?
Навчіть нас і дякую
IF(colName = NULL, 0, colName) AS colName
в SELECT
заяві (переважно в збережена процедура). По-філософськи це зводиться до того, чи повинен БД відповідати додатку, чи навпаки. Оскільки SQL обробляє NULL легко, і багато споживачів SQL цього не роблять (тобто java.sql.ResultSet
), я вирішую обробляти його в БД, коли це можливо. (Це, звичайно, передбачає, що концептуально NULL і нуль еквівалентні вашим цілям.)