2011-11-20 17 views
6

जब कोई क्वेरी से कोई डेटा प्राप्त नहीं होता है तो मैं एक डिफ़ॉल्ट संदेश प्रदर्शित करना चाहता हूं।किसी क्वेरी में कोई मिलान नहीं मिलने पर डिफ़ॉल्ट मान कैसे प्रदर्शित करें?

उदाहरण के लिए हमें कर्मचारी से एक प्रश्न

चयन empname लेते हैं जहां आईडी = 100

कोई डेटा यह खोज या आवश्यक परिणाम मैं Unavailable एक परिणाम के रूप प्राप्त करना चाहते हैं से मेल खाता है प्रदर्शित करना चाहिए

तो मुझे इसे प्राप्त करने के लिए SQL क्वेरी कैसे लिखनी चाहिए।

मैं ओरेकल 10 जी का उपयोग कर रहा हूं।

+1

आपको वास्तव में केवल 'शून्य' वापस करना चाहिए और अपने कॉलिंग एप्लिकेशन को यह तय करना चाहिए कि यह आपके डीबी में करने के बजाय 'db_null' का सामना करते समय कैसे व्यवहार करेगा। – Seph

+0

@ सेफ: टिप के लिए धन्यवाद, अगर मैं कॉलिंग एप्लिकेशन में शून्य लौटाता हूं तो मुझे शून्य को एक डिफ़ॉल्ट संदेश से बदलना होगा। तो अगर मैं इसे स्वयं क्वेरी करने की कोशिश कर रहा हूं। – Hariharbalaji

+0

मैंने पहले से ही इन सभी परिदृश्यों के बारे में सोचा था और फिर केवल आईएफ() को एसक्यूएल में ले जाया गया क्योंकि व्यवहार दोनों जगहों पर समान था – Hariharbalaji

उत्तर

16
SELECT COALESCE((SELECT empname FROM employee WHERE id = 100), 'Unavailable') 
FROM DUAL; 

आप किसी अन्य SELECT में SELECT रैप करने के लिए होगा या उसका कोई पंक्ति लौटा दी जाएगी। और जहां कोई पंक्ति नहीं है, वहां कोई मूल्य नहीं हो सकता है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^