分割函式

keeking發表於2009-07-23

ALTER function [dbo].[_sys_split](@SourceSql nvarchar(max),@StrSeprate nvarchar(20))

returns @temp table([tid] int identity ,[code] nvarchar(500))

--實現split功能的函式 --date    :2009-7-8

as

begin

    declare @i int

    set @SourceSql=rtrim(ltrim(@SourceSql))

    set @i=charindex(@StrSeprate,@SourceSql)

    while @i>=1

    begin

        insert @temp values(left(@SourceSql,@i-1))

        set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)

        set @i=charindex(@StrSeprate,@SourceSql)

    end

    if @SourceSql<>''

       insert @temp values(@SourceSql)

   return

           end



語法

  CHARINDEX ( expression1 , expression2 [ , start_location ] )   
引數
  expression1   一個表示式,其中包含要尋找的字元的次序。
expression1
是一個短字元資料型別分類的表示式。   
expression2   一個表示式,通常是一個用於搜尋指定序列的列。
expression2
屬於字串資料型別分類。   
start_location   在 expression2 中搜尋 expression1 時的起始字元位置。如果沒有給定 start_location,而是一個負數或零,則將從 expression2 的起始位置開始搜尋。   

返回型別   int

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7899089/viewspace-610102/,如需轉載,請註明出處,否則將追究法律責任。

相關文章