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

एक स्ट्रिंग को कैसे पार्स करें और उससे कई कॉलम कैसे बनाएं?

SELECT substring(NameValue, 1, charindex('_', NameValue)-1) AS Names, 
  substring(NameValue, charindex('_', NameValue)+1, LEN(NameValue)) AS Values
FROM Table

संपादित करें :कुछ इस तरह से एक फ़ंक्शन या संग्रहीत प्रक्रिया में एक अस्थायी तालिका के साथ संयुक्त एक से अधिक पंक्तियों के लिए काम करना चाहिए, लाइन डिलीमीटर के आधार पर आपको CHAR(13) को भी हटा देना चाहिए शुरू करने से पहले:

DECLARE @helper varchar(512)
DECLARE @current varchar(512)
SET @helper = NAMEVALUE
WHILE CHARINDEX(CHAR(10), @helper) > 0 BEGIN
    SET @current = SUBSTRING(@helper, 1, CHARINDEX(CHAR(10), NAMEVALUE)-1)
    SELECT SUBSTRING(@current, 1, CHARINDEX('_', @current)-1) AS Names, 
      SUBSTRING(@current, CHARINDEX('_', @current)+1, LEN(@current)) AS Names
    SET @helper = SUBSTRING(@helper, CHARINDEX(CHAR(10), @helper)+1, LEN(@helper))
END
SELECT SUBSTRING(@helper, 1, CHARINDEX('_', @helper)-1) AS Names, 
  SUBSTRING(@helper, CHARINDEX('_', @helper)+1, LEN(@helper)) AS Names


  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. Mac पर Azure डेटा स्टूडियो कैसे स्थापित करें

  3. SQL सर्वर में 'sp_server_info' संग्रहीत कार्यविधि का उपयोग कैसे करें

  4. SQL सर्वर में SQL group_concat फ़ंक्शन

  5. एसक्यूएल केस स्टेटमेंट