SQL自定义函数实例


  本文标签:SQL自定义函数

  SQL自定义函数在SQL语言中应用非常广泛,下面就为您介绍一个SQL函数定义的例子,供您参考,希望对您学习SQL自定义函数有所帮助  。

  1. --将档案IDS的字符串转换成名字的字符串  
  2. ALTER FUNCTION GetArchivesNameStr(@SourceSql nvarchar(500),@StrSeprate nvarchar(10))    --字符串格式41,56,77,  
  3. RETURNS nvarchar(500)  
  4. AS  
  5. begin  
  6.     declare @names nvarchar(500)  
  7.     declare @i int  
  8.     set @names= 
  9.     set @SourceSql=rtrim(ltrim(@SourceSql))  
  10.     set @i=charindex(@StrSeprate,@SourceSql)  
  11.     while @i>=1  
  12.     begin          
  13.         set @names=@names+(select name from Archives where ArchivesID=convert(int,left(@SourceSql,@i-1)))+,  
  14.         set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)  --已经转换好的去掉  
  15.         set @i=charindex(@StrSeprate,@SourceSql)       --重新定位  
  16.     end      
  17.     --return @names  
  18.     if @SourceSql<>and @i>=1   --最后一个  
  19.     begin  
  20.          set @names=@names+(select name from Archives where ArchivesID=convert(int,left(@SourceSql,@i-1)))  
  21.     end  
  22.   if(right(@names,1)=,) --去掉后面的逗号  
  23.         set @names=substring(@names,1,len(@names)-1)   
  24.  
  25.     return @names  
  26. end  
  27.