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

एक कस्टम डिलीमीटर के साथ एक बहुत बड़ी स्ट्रिंग को विभाजित करना?

कोई बात नहीं। बस अगर किसी और को भी इसी समस्या का सामना करना पड़ता है, तो यहां बड़े स्ट्रिंग्स पर सही काम करता है:

CREATE FUNCTION dbo.SplitLarge(@String varchar(8000), @Delimiter char(1))     
returns @temptable TABLE (items varchar(8000))     
as     
begin     
    declare @idx int     
    declare @slice varchar(8000)     

    select @idx = 1     
        if len(@String)<1 or @String is null  return     

    while @idx!= 0     
    begin     
        set @idx = charindex(@Delimiter,@String)     
        if @idx!=0     
            set @slice = left(@String,@idx - 1)     
        else     
            set @slice = @String     

        if(len(@slice)>0)
            insert into @temptable(Items) values(@slice)     

        set @String = right(@String,len(@String) - @idx)     
        if len(@String) = 0 break     
    end 
return     
end


  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. SQL सर्वर में सिंगल कॉलम पर चेक बाधा कैसे बनाएं - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 83

  3. मैं टीएसक्यूएल स्टेटमेंट की वैधता की प्रोग्रामेटिक रूप से जांच (पार्स) कैसे कर सकता हूं?

  4. एसक्यूएल सर्वर (टी-एसक्यूएल) में ब्रैकेट के साथ नकारात्मक मूल्यों को कैसे प्रारूपित करें

  5. वर्तमान में SQL सर्वर में उपयोग की जा रही भाषा प्राप्त करें