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

टी-एसक्यूएल में एक स्ट्रिंग को कैसे विभाजित करें?

इस तरह एक टेबल वैल्यू फ़ंक्शन का प्रयोग करें,

CREATE FUNCTION Splitfn(@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

और अपना वैरिएबल प्राप्त करें और इस तरह से इस फ़ंक्शन का उपयोग करें,

SELECT i.items FROM dbo.Splitfn(@a,'|') AS i


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. .net एप्लिकेशन में मेमोरी लीक

  2. क्वेरी का उपयोग करके SQL सर्वर में तालिका कैसे बनाएं

  3. रोलअप फ़ंक्शन - NULL को बदलें

  4. डेटाटाइम मान (एसक्यूएल सर्वर) के समय भाग को कैसे हटाएं?

  5. स्क्रिप्ट के माध्यम से स्वचालित रूप से अस्थायी तालिका कॉलम और डेटाटाइप कैसे उत्पन्न करें?