CREATE FUNCTION Get_StrArrayStrOfIndex
(
@str VARCHAR(1024), --要分割的字符串
@split VARCHAR(10), --分隔符号
@INDEX INT --取第几个元素
)
RETURNS VARCHAR(1024)
AS
BEGIN
DECLARE @location INT
DECLARE @START INT
DECLARE @NEXT INT
DECLARE @seed INT
SET @str=ltrim(rtrim(@str))
SET @START=1
SET @NEXT=1
SET @seed=len(@split)
SET @location=charindex(@split,@str)
while @location<>0 AND @index>@NEXT
BEGIN
SET @START=@location+@seed
SET @location=charindex(@split,@str,@START)
SET @NEXT=@NEXT+1
END
IF @location =0 SELECT @location =len(@str)+1
--这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。
RETURN SUBSTRING(@str,@START,@location-@START)
END
//SQL/7372