दूसरे स्थान पर और बाद के उत्तर दो बार खोज मूल्य को बाध्य किए बिना ऐसा करने का एक तरीका देते हैं:
SELECT * FROM ROUTERS
WHERE coalesce(ROUTER_ADDRESS, '') = coalesce( ?, '');
ध्यान दें कि इसके लिए एक डमी मान की आवश्यकता होती है जो कभी भी मान्य स्तंभ मान नहीं हो सकता (वह "बैंड से बाहर" है); मैं खाली स्ट्रिंग का उपयोग कर रहा हूँ। यदि आपके पास ऐसा कोई मूल्य नहीं है, तो आपको मूल्य को दो बार बाध्य करना होगा:
SELECT * FROM ROUTERS
WHERE ROUTER_ADDRESS = ? or (ROUTER_ADDRESS is null and ? is null);