码迷,mamicode.com
首页 > 数据库 > 详细

SQL自定义函数,分隔符

时间:2016-12-27 22:23:20      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:value   函数   sql   str   sub   table   insert   ring   bsp   

--------------建立存储过程

CREATE function [dbo].[split]

(

@str varchar(4500),

@sep varchar(1)

)

returns @t table(id int identity(1,1),col varchar(4500))

as

begin

--分别定义了 目前位置,分隔符开始和字符串长度和,当前获取的字符串

declare @posi int,@start int,@str_leg int,@gchar varchar(2),@mingzhong int

set @str_leg=len(@str)

set @posi=0

set @start=0

set @mingzhong=0

while(@posi<=@str_leg)

begin

set @gchar=substring(@str,@posi,1)

if(@gchar=@sep)

begin

insert into @t values(substring(@str,@start+1,@posi-@start-1))

set @start=@posi

end

set @posi=@posi+1

end

return

end

 

 

 

------------执行,以:为分隔符查询结果

  select * from dbo.split(‘234;32423;;2342;a;b;234234;23;‘,‘;‘)

SQL自定义函数,分隔符

标签:value   函数   sql   str   sub   table   insert   ring   bsp   

原文地址:http://www.cnblogs.com/yongfajun/p/6227471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!