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

SQL सर्वर 2008 में अल्पविराम द्वारा विभाजित कार्य

मैंने फ़ंक्शन का नाम बदल दिया है, इसलिए यह Split() . में ओवरलैप नहीं होगा फ़ंक्शन वास्तव में करता है।

यहाँ कोड है:

CREATE FUNCTION dbo.GetColumnValue(
@String varchar(8000),
@Delimiter char(1),
@Column int = 1
)
returns varchar(8000)
as     
begin

declare @idx int     
declare @slice varchar(8000)     

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

declare @ColCnt int
    set @ColCnt = 1

while (@idx != 0)
begin     
    set @idx = charindex(@Delimiter,@String)     
    if @idx!=0 begin
        if (@ColCnt = @Column) return left(@String,@idx - 1)        

        set @ColCnt = @ColCnt + 1

    end

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

और यहाँ उपयोग है:

select dbo.GetColumnValue('Col1,Field2,VAlue3', ',', 3)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GETDATE() SQL सर्वर में उदाहरण (T-SQL)

  2. SQL सर्वर TempDB मॉनिटरिंग डायनेमिक मैनेजमेंट व्यू (DMV) का उपयोग करके

  3. व्युत्पन्न तालिका के लिए SQL सर्वर ROW_NUMBER () से अधिक () की गणना करना

  4. आशावादी बनाम निराशावादी लॉकिंग

  5. VB.NET में एक इंस्टॉलर कैसे बनाएं जो SQL सर्वर एक्सप्रेस संस्करण स्थापित कर सके?