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

टी-एसक्यूएल में स्प्लिट फ़ंक्शन बराबर?

इसे आजमाएं

DECLARE @xml xml, @str varchar(100), @delimiter varchar(10)
SET @str = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15'
SET @delimiter = ','
SET @xml = cast(('<X>'+replace(@str, @delimiter, '</X><X>')+'</X>') as xml)
SELECT C.value('.', 'varchar(10)') as value FROM @xml.nodes('X') as X(C)

या

DECLARE @str varchar(100), @delimiter varchar(10)
SET @str = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15'
SET @delimiter = ','
;WITH cte AS
(
    SELECT 0 a, 1 b
    UNION ALL
    SELECT b, CHARINDEX(@delimiter, @str, b) + LEN(@delimiter)
    FROM CTE
    WHERE b > a
)
SELECT SUBSTRING(@str, a,
CASE WHEN b > LEN(@delimiter) 
    THEN b - a - LEN(@delimiter) 
    ELSE LEN(@str) - a + 1 END) value      
FROM cte WHERE a > 0

ऐसा करने के कई और तरीके यहां दिए गए हैं अल्पविराम सीमांकित स्ट्रिंग को कैसे विभाजित करें?



  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. INSERT INTO ... कथन के भाग को दोहराए बिना अनेक पंक्तियाँ सम्मिलित करें?

  3. SQL सर्वर में उच्च गंभीरता त्रुटियों से निपटना

  4. SQL सर्वर में एक अद्वितीय मान बनाने के लिए NEWID () का उपयोग करें

  5. SQL सर्वर 2016 में नया मेटाडेटा-केवल कॉलम परिवर्तन