कुछ भी नहीं है = NULL
. अगर आपने select * from test where value=NULL
एक इंटरैक्टिव क्वेरी मूल्यांकनकर्ता में, आपको कुछ भी वापस नहीं मिलेगा। JDBC आपकी अभिव्यक्ति को फिर से नहीं लिखता है, यह केवल मूल्यों में स्थानापन्न करता है।
आपको is
. का उपयोग करके एक क्वेरी का उपयोग करना होगा इसके बजाय ऑपरेटर:
PreparedStatement select = c.prepareStatement("select * from test where value is NULL");
return select.executeQuery();
आपने कहा है कि आप उम्मीद करते हैं कि जेडीबीसी आपके लिए ऐसा करने के लिए पर्याप्त "चतुर" होगा, लेकिन यह चिंताओं को अलग करने का एक बड़ा उल्लंघन होगा। आप शायद चाहते =
. का उपयोग करके अपनी क्वेरी में एक पैरामीटर रखने के लिए जिसे आपने NULL
set सेट किया है यह जानते हुए कि वह संबंध कभी भी सत्य का मूल्यांकन नहीं करेगा (स्थितियों के एक बड़े सेट के हिस्से के रूप में, सबसे अधिक संभावना है)।