Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

XML भाग के लिए शर्त जोड़ने में असमर्थ

यदि मैं समझ रहा हूँ कि आप क्या कह रहे हैं, तो यदि Col1 स्ट्रिंग "SUP" शामिल है, आप इस टैग को अपने अंतिम XML में चाहते हैं:

<ss:Data ss:Type="String">SomethingContainingSup</ss:Data>

अन्यथा, आप यह अभिव्यक्ति चाहते हैं:

<Data ss:Type="String">SomethingElse</Data>

मुझे लगता है कि आप इसे इस SQL ​​​​टुकड़े के साथ प्राप्त कर सकते हैं:

SELECT CASE WHEN COL1 LIKE '%SUP%' THEN 'String' END  as [Cell/ss:Data/@ss:Type],
       CASE WHEN Col1 Like '%SUP%' THEN Col1 END as [Cell/ss:Data], 
       CASE WHEN COL1 NOT LIKE '%SUP%' THEN 'String' END  as [Cell/Data/@ss:Type],                    
       CASE WHEN Col1 NOT Like '%SUP%' THEN Col1  END as [Cell/Data],
       ''

आपका काम क्यों नहीं हुआ:आप किसी स्तंभ (या किसी XML तत्व का) का नाम सशर्त नहीं बना सकते। आप जो निकटतम प्राप्त कर सकते हैं वह एक या दूसरी अभिव्यक्ति को शून्य पर मूल्यांकन करना है, इस मामले में इसे अंतिम एक्सएमएल में प्रस्तुत नहीं किया जाएगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर परिवर्तन पुनर्प्राप्ति मॉडल

  2. सी # पैरामीटर के रूप में सूची के साथ SQL तालिका में डालें

  3. Salesforce के साथ SQL सर्वर का उपयोग करने के लिए युक्तियाँ

  4. SQL सर्वर राउंडिंग इश्यू जहां 5 . है

  5. SQL सर्वर 2008 में अल्पविराम द्वारा विभाजित कार्य