IS NULL और NOT NULL वाला CASE स्टेटमेंट


12

SQL Server 2005 में नीचे की पंक्तियों को लिखने का कोई बेहतर तरीका है?

CASE
WHEN (ID IS NULL)
   THEN 'YES'
WHEN (ID IS NOT NULL)
   THEN 'NO'
END AS ID_Value,

3
"बेहतर" परिभाषित करें।
वेस्ले

मैं MSSQL से परिचित नहीं हूँ, लेकिन अगर इसमें MySQL में IF-function जैसा कुछ है, तो आप ऐसा कोड लिख सकते हैं:IF(ID IS NULL, 'YES', 'NO') AS ID_Value
कोंडायबस

1
SQL Server 2012 है, IIFलेकिन सवाल 2005 टैग किया गया है।
मार्टिन स्मिथ

आपको नीचे दिए गए कथन के साथ इसे पूरा करने में सक्षम होना चाहिए। isnull(nullif(isnull(ID,'Y'),ID),'N')
जेसन कंबरलैंड

1
@ Bappy1988 जय के जवाब से बेहतर क्यों होगा?
dezso

जवाबों:


16

क्या आप ने कोशिश की:

CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_Value,

मेरे पास अभी 2008 तक पहुंच है, लेकिन मुझे उम्मीद है कि यह सिंटैक्स अभी भी 2005 में काम करेगा ( ऐसा लगता है कि मूल परिभाषा का हिस्सा होगा CASE)।


हां - मैंने कोशिश की थी, CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_Valueलेकिन मैं कुछ अन्य बेहतर दृष्टिकोण की तलाश कर रहा हूं जैसे IF(ID IS NULL, 'YES', 'NO') AS ID_Valueकि मिस एसक्यूएल, ताकि सब कुछ एक ही पंक्ति में हो सके। कोई सुझाव कृपया

7
यह उत्तर एक पंक्ति में है। आप चाहें तो पूरे कथन को एक पंक्ति में रख सकते हैं।
ypercube y
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.