Java에서 열이 기본 int 유형 으로 캐스트되는 ResultSet에서 null 값을 테스트하려고 합니다.
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
(바람직하게는 저장된 프로 시저에) 문. 철학적으로 이것은 DB가 앱을 준수해야하는지 또는 그 반대인지에 달려 있습니다. SQL은 NULL을 쉽게 처리하고 많은 SQL 소비자는 (예를 들어 java.sql.ResultSet
) 처리 하지 않기 때문에 가능한 경우 DB에서 처리하도록 선택합니다. (물론 이것은 개념적으로 NULL과 0이 목적에 상응한다고 가정합니다.)