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

कुंजी-मान स्ट्रिंग को पार्स करने के लिए SQL

यदि आप अपने डेटा को एक कुंजी/मूल्य जोड़ी प्रति पंक्ति प्रारूप में प्राप्त करने में सक्षम हैं, तो बहुत काम किया जाता है। मुझे उस परिणाम को t . कॉल करने दें . ऐसा कुछ आपको पूरी तरह से प्रभावित कर सकता है:

select max(case when LEFT(data, 4) = 'key1' then SUBSTRING(data, 6, len(data)) end) as key1,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key2,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key3
from t
group by (id - 1)/3

यह मानता है कि id क्रमिक रूप से असाइन किया गया है, जैसा कि आपके उदाहरण में दिखाया गया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डीबीओ स्कीमा के साथ नामित एसक्यूएल सर्वर टेबल्स

  2. टीएसक्यूएल से वेब सेवा को कॉल करने का सबसे अच्छा तरीका

  3. सशर्त जॉइन स्टेटमेंट SQL सर्वर

  4. टीएसक्यूएल में किसी तारीख से कैलेंडर तिमाही कैसे प्राप्त करें

  5. SQL सर्वर में इतिहास तालिका में ऐतिहासिक रिकॉर्ड कैसे संग्रहीत करें