दिलचस्प पोस्ट
कस्टम अराएडैप्टर में कस्टम GetFilter एंड्रॉइड विकास और उत्पादन वातावरण में विभिन्न Web.config का उपयोग करना कैसे डेटाबेस में समवर्ती अद्यतन से निपटने के लिए? क्या <img> तत्व ब्लॉक स्तर या इनलाइन स्तर है? DialogFragment से परिणाम प्राप्त करें "अभिभावक =" parent.obj.Prop "में" Linq अभिव्यक्ति "obj => obj.Prop" कनवर्ट करें phpMyAdmin – कनेक्ट नहीं कर सकता – अवैध सेटिंग – जब से मैंने एक रूट पासवर्ड जोड़ा – लॉक आउट didSelectRowAtIndexPath काम नहीं कर रहा है, स्विफ्ट 3 नारंगी मैट्रिक्स को सरणी रेल 3.0 में f.error_messages मेवेन में विभिन्न बिल्ड प्रोफाइल के लिए विभिन्न निर्भरताएं HTTP पुनर्निर्देशन: 301 (स्थायी) बनाम 302 (अस्थायी) यूआरएल में बैक बटन / हैश बदलें का पता लगा रहा है संकलित नहीं किए गए नेस्टेड तर्क जिन्जा एक्सप्रेशन के संदर्भ टेम्पलेट वैरिएबल

एसक्यूएल सर्वर: मामला जब या उसके बाद => या समर्थित नहीं है

OR किसी CASE वक्तव्य के WHEN खंड में OR समर्थित नहीं है। मैं यह कैसे कर सकता हूँ?

 CASE ebv.db_no WHEN 22978 OR 23218 OR 23219 THEN 'WECS 9500' ELSE 'WECS 9520' END as wecs_system 

वेब के समाधान से एकत्रित समाधान "एसक्यूएल सर्वर: मामला जब या उसके बाद => या समर्थित नहीं है"

उस प्रारूप में आपको या तो उपयोग करने की आवश्यकता है:

 CASE ebv.db_no WHEN 22978 THEN 'WECS 9500' WHEN 23218 THEN 'WECS 9500' WHEN 23219 THEN 'WECS 9500' ELSE 'WECS 9520' END as wecs_system 

अन्यथा, उपयोग करें:

 CASE WHEN ebv.db_no IN (22978, 23218, 23219) THEN 'WECS 9500' ELSE 'WECS 9520' END as wecs_system 
 CASE WHEN ebv.db_no = 22978 OR ebv.db_no = 23218 OR ebv.db_no = 23219 THEN 'WECS 9500' ELSE 'WECS 9520' END as wecs_system 
 CASE WHEN ebv.db_no IN (22978, 23218, 23219) THEN 'WECS 9500' ELSE 'WECS 9520' END as wecs_system 

आप एक अभिव्यक्ति का उपयोग कर सकते हैं जब है, लेकिन आप दोनों को मिला नहीं सकते हैं

  1. कब कब एक्सपीरियन

    क्या एक सरल अभिव्यक्ति है जो इनपुट_ एक्सप्रेशन की तुलना की जाती है जब सरल केस प्रारूप का उपयोग किया जाता है। कब एक्सप्रेसन किसी भी मान्य अभिव्यक्ति है इनपुट-एक्सप्रेशन के डेटा प्रकार और प्रत्येक कब-एक्सप्रेशन एक समान होना चाहिए या एक निहित रूपांतरण होना चाहिए।

  2. WHEN बूलियन_ एक्सप्रेशन

    बूलियन अभिव्यक्ति का मूल्यांकन किया जाता है जब खोजे गए CASE प्रारूप का उपयोग करते हैं बूलियन_ एक्सप्रेशन किसी भी मान्य बूलियन अभिव्यक्ति है।

आप कार्यक्रम कर सकते थे:

1।

  CASE ProductLine WHEN 'R' THEN 'Road' WHEN 'M' THEN 'Mountain' WHEN 'T' THEN 'Touring' WHEN 'S' THEN 'Other sale items' ELSE 'Not for sale' 

2।

  CASE WHEN ListPrice = 0 THEN 'Mfg item - not for resale' WHEN ListPrice < 50 THEN 'Under $50' WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250' WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000' ELSE 'Over $1000' END 

लेकिन किसी भी मामले में आप अपेक्षा कर सकते हैं कि चर रैंकिंग की तुलना बुलियन अभिव्यक्ति में की जा रही है।

केस (ट्रांस्क्ट-एसक्यूएल) (एमएसडीएन) देखें

प्रयत्न

 CASE WHEN ebv.db_no IN (22978,23218,23219) THEN 'WECS 9500' ELSE 'WECS 9520' END 
 SELECT Store_Name, CASE Store_Name WHEN 'Los Angeles' THEN Sales * 2 WHEN 'San Diego' THEN Sales * 1.5 ELSE Sales END AS "New Sales", Txn_Date FROM Store_Information; 

CASE संबंध में पहले से बहुत सारे उत्तर हैं मैं कब और CASE का उपयोग कैसे करें

आप SQL प्रश्नों में कहीं भी CASE भाव का उपयोग कर सकते हैं। मामले की अभिव्यक्ति का चयन करें कथन के भीतर इस्तेमाल किया जा सकता है, जहां खंड, आदेश द्वारा आदेश, चलने वाले नियम, सम्मिलित, अद्यतन और बयान हटाएं।

एक मामला अभिव्यक्ति में निम्नलिखित दो प्रारूप हैं:

  1. साधारण मामला अभिव्यक्ति

     CASE expression WHEN expression1 THEN Result1 WHEN expression2 THEN Result2 ELSE ResultN END 

    यह परिणाम को खोजने के लिए एक सरल अभिव्यक्ति के एक अभिव्यक्ति की तुलना करता है। इस अभिव्यक्ति में अभिव्यक्ति के लिए प्रत्येक अभिव्यक्ति की तुलना समानता के लिए क्लॉज की तुलना करता है। यदि WHEN क्लॉज के भीतर अभिव्यक्ति का मिलान होता है, तो इस खंड में अभिव्यक्ति वापस लौटा दी जाएगी।

    यह वह जगह है जहां ओपी सवाल गिर रहा है। 22978 OR 23218 OR 23219 को अभिव्यक्ति के बराबर मान नहीं मिलेगा, अर्थात् ebv.db_no यही कारण है कि यह एक त्रुटि दे रहा है इनपुट-एक्सप्रेशन के डेटा प्रकार और प्रत्येक कब-एक्सप्रेशन एक समान होना चाहिए या एक निहित रूपांतरण होना चाहिए।

  2. खोजे गये केस भाव

     CASE WHEN Boolean_expression1 THEN Result1 WHEN Boolean_expression2 THEN Result2 ELSE ResultN END 

    यह अभिव्यक्ति परिणाम जानने के लिए बुलियन अभिव्यक्तियों के एक समूह का मूल्यांकन करती है। यह अभिव्यक्ति तुलना ऑपरेटरों और तार्किक ऑपरेटरों की अनुमति देता है और / या प्रत्येक बूलियन अभिव्यक्ति में।

मामला अभिव्यक्ति के साथ 1. बयान

 --Simple CASE expression: SELECT FirstName, State=(CASE StateCode WHEN 'MP' THEN 'Madhya Pradesh' WHEN 'UP' THEN 'Uttar Pradesh' WHEN 'DL' THEN 'Delhi' ELSE NULL END), PayRate FROM dbo.Customer -- Searched CASE expression: SELECT FirstName,State=(CASE WHEN StateCode = 'MP' THEN 'Madhya Pradesh' WHEN StateCode = 'UP' THEN 'Uttar Pradesh' WHEN StateCode = 'DL' THEN 'Delhi' ELSE NULL END), PayRate FROM dbo.Customer 

2. मामले की अभिव्यक्ति के साथ अद्यतन विवरण

 -- Simple CASE expression: UPDATE Customer SET StateCode = CASE StateCode WHEN 'MP' THEN 'Madhya Pradesh' WHEN 'UP' THEN 'Uttar Pradesh' WHEN 'DL' THEN 'Delhi' ELSE NULL END -- Simple CASE expression: UPDATE Customer SET StateCode = CASE WHEN StateCode = 'MP' THEN 'Madhya Pradesh' WHEN StateCode = 'UP' THEN 'Uttar Pradesh' WHEN StateCode = 'DL' THEN 'Delhi' ELSE NULL END 

मामले के भाव के साथ खंड द्वारा 3.ORDER

 -- Simple CASE expression: SELECT * FROM dbo.Customer ORDER BY CASE Gender WHEN 'M' THEN FirstName END Desc, CASE Gender WHEN 'F' THEN LastName END ASC -- Searched CASE expression: SELECT * FROM dbo.Customer ORDER BY CASE WHEN Gender='M' THEN FirstName END Desc, CASE WHEN Gender='F' THEN LastName END ASC 

4. सीएई अभिव्यक्ति के साथ धारा रखते हुए

 -- Simple CASE expression: SELECT FirstName ,StateCode,Gender, Total=MAX(PayRate) FROM dbo.Customer GROUP BY StateCode,Gender,FirstName HAVING (MAX(CASE Gender WHEN 'M' THEN PayRate ELSE NULL END) > 180.00 OR MAX(CASE Gender WHEN 'F' THEN PayRate ELSE NULL END) > 170.00) -- Searched CASE expression: SELECT FirstName ,StateCode,Gender, Total=MAX(PayRate) FROM dbo.Customer GROUP BY StateCode,Gender,FirstName HAVING (MAX(CASE WHEN Gender = 'M' THEN PayRate ELSE NULL END) > 180.00 OR MAX(CASE WHEN Gender = 'F' THEN PayRate ELSE NULL END) > 170.00) 

आशा है कि इस उपयोग के मामलों में भविष्य में किसी को मदद मिलेगी।

स्रोत

 UPDATE table_name SET column_name=CASE WHEN column_name in ('value1', 'value2',.....) THEN 'update_value' WHEN column_name in ('value1', 'value2',.....) THEN 'update_value' END 
 Select s.stock_code,s.stock_desc,s.stock_desc_ar, mc.category_name,s.sel_price, case when s.allow_discount=0 then 'Non Promotional Item' else 'Prmotional item' end 'Promotion' From tbl_stock s inner join tbl_stock_category c on s.stock_id=c.stock_id inner join tbl_category mc on c.category_id=mc.category_id where mc.category_id=2 and s.isSerialBased=0