SQL自定义函数在SQL语言中应用非常广泛,下面就为您介绍一个SQL函数定义的例子,供您参考,希望对您学习SQL自定义函数有所帮助。
- --将档案IDS的字符串转换成名字的字符串
- ALTER FUNCTION GetArchivesNameStr(@SourceSql nvarchar(500),@StrSeprate nvarchar(10)) --字符串格式41,56,77,
- RETURNS nvarchar(500)
- AS
- begin
- declare @names nvarchar(500)
- declare @i int
- set @names=''
- set @SourceSql=rtrim(ltrim(@SourceSql))
- set @i=charindex(@StrSeprate,@SourceSql)
- while @i>=1
- begin
- set @names=@names+(select name from Archives where ArchivesID=convert(int,left(@SourceSql,@i-1)))+','
- set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i) --已经转换好的去掉
- set @i=charindex(@StrSeprate,@SourceSql) --重新定位
- end
- --return @names
- if @SourceSql<>''and @i>=1 --最后一个
- begin
- set @names=@names+(select name from Archives where ArchivesID=convert(int,left(@SourceSql,@i-1)))
- end
- if(right(@names,1)=',') --去掉后面的逗号
- set @names=substring(@names,1,len(@names)-1)
- return @names
- end
【编辑推荐】