Di Jawa saya mencoba untuk menguji nilai nol, dari ResultSet, di mana kolom sedang dilemparkan ke tipe 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");
}
}
Dari fragmen kode di atas, apakah ada cara yang lebih baik untuk melakukan ini, dan saya berasumsi bahwa tes wasNull () kedua adalah mubazir?
Mendidik kami, dan Terima kasih
IF(colName = NULL, 0, colName) AS colName
dalam SELECT
pernyataan (lebih disukai di proc disimpan). Secara filosofis ini bermuara pada apakah DB harus sesuai dengan aplikasi, atau sebaliknya. Karena SQL menangani NULL dengan mudah dan banyak konsumen SQL tidak (yaitu java.sql.ResultSet
), saya memilih untuk menanganinya di DB jika memungkinkan. (Ini, tentu saja, mengasumsikan bahwa secara konsep NULL dan nol adalah ekuivalen untuk keperluan Anda.)