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

sqlserver字符串分割

时间:2017-09-28 21:14:30      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:charindex   nvarchar   分割   char   varchar   begin   --   value   word   

create function sp_split(
    @c nvarchar(4000),
    @splitchar nvarchar(1)
)
returns @table  table (word nvarchar(max))
as
begin
    declare @temp nvarchar(200)
    set @c=@c+@splitchar--在最右边加上一个分隔符,用于最后的获取最右边的字符串
    while charINDEX(@splitchar,@c)>0
	   begin
		  /*
		    charINDEX(@splitchar,@c) 查找分隔符在字符串中出现的第一个位置
		    substring(@c,1, charINDEX(@splitchar,@c)-1)截取分隔符前面的字符串
		    RIGHT(@c,LEN(@c)-charINDEX(@splitchar,@c))从右边截取字符串指定长度内容即去掉字符串中已经查找到的字符串
		  */
		  set @temp=substring(@c,1, charINDEX(@splitchar,@c)-1)
		  if(len(@temp)>0)
			 begin
				insert @table values(@temp)
			 end
		   set @c=RIGHT(@c,LEN(@c)-charINDEX(@splitchar,@c))
	   end
    return 
end

  

sqlserver字符串分割

标签:charindex   nvarchar   分割   char   varchar   begin   --   value   word   

原文地址:http://www.cnblogs.com/coce/p/7608536.html

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