मेरे पास 2 शून्य CHAR
कॉलम हैं और मुझे यह जांचने की आवश्यकता है कि उनमें से केवल शून्य है।टिकाऊ तार्किक एक्सओआर शून्य मूल्यों के लिए
कर
(a IS NULL AND b IS NOT NULL) OR (a IS NOT NULL AND b IS NULL)
उबाऊ है। और मैं इसके लिए कस्टम फ़ंक्शंस बनाने से बचना चाहता हूं।
मैं कुछ के बारे में
COALESCE(a, 1) + COALESCE(b, 1) = 1
लेकिन जब तक a
रूप char
है की तरह सोच रहा था - यह संकार्य प्रकार की त्रुटि का कारण बनता है।
तो, मुश्किल समाधान?
कैसे COALESCE (ए, बी) = COALESCE (ख, एक) ':) गलत मान निकलेगा के बारे में' यदि 'एक = b'। http://www.sqlfiddle.com/#!1/9c33b/1 – mellamokb
@mellamokb: एक अपवर्तनीय हकदार है, हालांकि 'चयन कोलेसेस (शून्य, शून्य) = coalesce (शून्य, शून्य)' वापस बूलियन नहीं देता है (जो कि नेतृत्व कर सकता है कुछ मामलों में त्रुटियां) – zerkms