SqlServer用户自定义函数,实现Split

SqlServer用户自定义函数,实现Split

新建一个SqlServer用户自定义函数
=========================================
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
 returns @temp table(a varchar(100))
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

在存储过程中调用
=========================================
Create procedure sp_Table1_Select_Search
 @SearchCode Nvarch(4000)
AS
  Select *
  From TABLE1
  Where ID In (Select * from dbo.f_split(@SearchCode,':'))
GO

posted on 2005-12-30 17:12  ★金★  阅读(378)  评论(0编辑  收藏  举报

导航