忘了之前為何有這個需求了
好像是因為要處理某一些特別的字串
還好還有很多高手有做
就直接拿來調整一點點就直接用啦
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
文章標籤
全站熱搜
