忘了之前為何有這個需求了

好像是因為要處理某一些特別的字串

還好還有很多高手有做

就直接拿來調整一點點就直接用啦

CREATE function My_split(@aString   varchar(8000),@pattern   varchar(10))
  returns   @temp   table([Sid] [int] IDENTITY (1,1) NOT NULL ,Myvalues   varchar(100))
  as    
  begin  
          declare @i int  
          set @aString=rtrim(ltrim(@aString))  
          set @i=charindex(@pattern,@aString)  
          while @i>=1  
          begin  
            insert @temp   values(left(@aString,@i-1))  
            set   @aString=substring(@aString,@i+1,len(@aString)-@i)  
            set   @i=charindex(@pattern,@aString)  
          end  
          if @aString<>''    
             insert @temp values(@aString)  
          return    
  end   

Step2:

使用方式如下:

Declare @ID varchar(600) 參數
DEclare @x varchar(1)   需分隔符號
set @ID =   '111,222,333,444'
set @x =   ','

select   Myvalues   FROM   my_split(@ID,@x)

結果
111
222
333
444

參考:

http://blog.csdn.net/fanzhonglei/archive/2008/06/10/2532668.aspx

http://shihshu.blogspot.com/2009/07/t-sql.html

http://dev.firnow.com/course/7_databases/sql/sqlServer/20100710/403674.html

arrow
arrow
    全站熱搜

    鴨爸 發表在 痞客邦 留言(0) 人氣()