1. 程式人生 > >sqlserver字符串分割

sqlserver字符串分割

str creat values ret tab charindex dex server begin

create function sp_split(
    @c nvarchar(4000),
    @splitchar nvarchar(1)
)
returns @table  table (word nvarchar(max))
as
begin
    declare @temp nvarchar(200)
    set @[email protected][email protected]在最右邊加上一個分隔符,用於最後的獲取最右邊的字符串
    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字符串分割