SQL函数 将一个字段分隔成一个表的函数【搜藏】
例如一个字段[values]的值是:12,35,67,1235,43,87
调用这个函数之后:dbo.f_split(values,',')/*注意:前面记得加 dbo. 我调用的时候因为忘加老是说找不到函数,弄了很久呀*/
结果变成一个表:
[table]
a
--------
12
35
67
1235
43
87
将一个字段分隔为一个表的函数
ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
/*--实现split功能 的函数
--date :2005-4-20
--Author :Domino
*/
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

浙公网安备 33010602011771号