ใน Java ฉันพยายามทดสอบค่า Null จาก 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
คำสั่ง (โดยเฉพาะใน proc เก็บไว้) ในเชิงปรัชญาสิ่งนี้เกิดขึ้นได้ว่า DB ควรสอดคล้องกับแอพหรือในทางกลับกัน เนื่องจาก SQL จัดการ NULL ได้อย่างง่ายดายและผู้บริโภค SQL จำนวนมากไม่ได้ (เช่นjava.sql.ResultSet
) ฉันเลือกที่จะจัดการกับฐานข้อมูลเมื่อเป็นไปได้ (แน่นอนว่าถือว่าเป็นโมฆะในเชิงแนวคิดและเป็นศูนย์จะเทียบเท่ากับวัตถุประสงค์ของคุณ)